ASP.NET编程:IIS URL重写模块和ASP.NET路由组件对照仓酷云
今天去面试,被问到C#中的new关键字,看了那么多的书对new关键字还是有一定认识,回来又把new复习了一遍,发现了许多以前还不知道的细节。跟着针对IIS7.0的URL重写模块的公布,和在.NET框架3.5SP1中包括了ASP.NET路由(Routing),很多ASP.NET开辟职员入手下手诘责这两种特征相互间的干系,和应当什么时候利用。RuslanYakushev在LearnIIS.NET上宣布了一篇很有引导意义的文章。
两者实质的区分在于:IISURL重写的处置体例比ASP.NET路由在条理上更低,关于客户端是不成见的。
Ruslan给出了IIS7URL重写历程的可视化事情流。你能够看到URL重写模块是在哀求被传送到哀求处置器(Handler),比方ASP.NET办理的ASPX处置器之前被激活的。IISURL重写其实不晓得详细的哀求处置器。
他同时还给出了ASP.NET路由历程的可视化事情流。能够看到ASP.NET路由就是一个哀求分发器,它必需明白地获知一个特定的哀求事实应路过哪一个处置器。
来自Ruslan的形貌以下:
[*]URL重写一般被用于在Web服务器处置哀求之前操纵URL路径。URL重写模块其实不晓得处置器实践处置URL重写的任何内容。别的,实践的哀求处置器其实不晓得URL是不是已被重写。
[*]ASP.NET路由一般依据哀求的URL路径将哀求分发各处理器。与URL重写相反,路由组件晓得处置器,并可以选择能够为哀求的URL天生反响的处置器。你能够将ASP.NET路由看做是一个初级的处置器映照机制。
[*]IISURL重写模块可以用于任何范例的Web使用程序,包含ASP.NET,PHP,ASP和静态文件。ASP.NET路由只能用于基于.NET框架的Web使用程序。
[*]在用于使用程序池方面,不论是集成的仍是典范的IIS管道形式,IISURL重写模块的事情体例都是不异的。而ASP.NET路由则会优先选择利用集成管道形式。ASP.NET路由也能够事情于典范形式,可是在这类情形下,使用程序的URL必需包括文件扩大名,大概使用程序必需在IIS中利用“*”设置处置器。
[*]URL重写模块能够依据域名、HTTP标头和服务器变量举行重写判别。默许情形下,ASP.NET路由只能利用URL路径和标头的情势。
[*]除重写功效,URL重写模块可以实行HTTP重定向,断定自界说形态码和作废哀求。ASP.NET路由则不具有这些功效。
[*]URL重写模块在以后版本中是不克不及扩大的。ASP.NET路由完整可以扩大和定制。
检察英文原文:IISURLRewritingvsASP.NETRouting
本文出自:http://www.infoq.com/cn/news/2008/11/urlrewriting
net网页编程的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
页:
[1]