网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.在Web DataGrid中当鼠标移到某行.
.web.config配置文件示例.
.故障解析:.NET开发正则表达式中.
.虚拟主机下asp.net 2.0的导航控件.
.微软发布了ASP.NET MVC源代码.
.ASP.Net常用功能整理--生成图片的.
.一个通过web.Mail发送邮件的类 .
.ASP.NET中利用存储过程实现模糊查.
.ASP.NET无限分类.
.在ASP.NET中上传图片并生成缩略图.
.ASP.NET实现匿名访问控制.
.在ASP.net中使用TinyMCE的小tip-.
.ASP.NET ViewState 初探 (2).
..NET框架2.0里的aspnet_compiler.
.ASP.NET中使用数据处理插入数据注.
.编程实现QQ表情文件CFC格式.
.asp.net 2.0 缓存(理论篇) .
.打造通用ASP.NET数据分页控件.
.ASP.NET 取得客户端信息.
.读取Excel文件时出现null的解决方.

IIS URL重写模块和ASP.NET路由组件比较

发表日期:2008-11-7


随着针对IIS 7.0的URL重写模块的发布,以及在.NET框架3.5 SP1中包含了ASP.NET路由(Routing),许多ASP.NET开发人员开始质问这两种特性彼此间的关系,以及应该何时使用。

Ruslan Yakushev在LearnIIS.NET上发表了一篇很有指导意义的文章。

二者本质的区别在于:IIS URL重写的处理方式比ASP.NET路由在层次上更低,对于客户端是不可见的。

Ruslan给出了IIS 7 URL重写过程的可视化工作流。你可以看到URL重写模块是在请求被传递到请求处理器(Handler),例如ASP.NET管理的ASPX处理器之前被激活的。IIS URL重写并不知道具体的请求处理器。

他同时还给出了ASP.NET路由过程的可视化工作流。可以看到ASP.NET路由就是一个请求分发器,它必须明确地获知一个特定的请求究竟应途经哪个处理器。

来自Ruslan的描述如下:

URL重写通常被用于在Web服务器处理请求之前操作URL路径。URL重写模块并不知道处理器实际处理URL重写的任何内容。此外,实际的请求处理器并不知道URL是否已被重写。
ASP.NET路由通常根据请求的URL路径将请求分发到处理器。与URL重写相反,路由组件知道处理器,并能够选择可以为请求的URL生成反应的处理器。你可以将ASP.NET路由看作是一个高级的处理器映射机制。
IIS URL重写模块能够用于任何类型的Web应用程序,包括ASP.NET,PHP,ASP和静态文件。ASP.NET路由只能用于基于.NET框架的Web应用程序。
在用于应用程序池方面,不管是集成的还是经典的IIS管道模式,IIS URL重写模块的工作方式都是相同的。而ASP.NET路由则会优先选择使用集成管道模式。ASP.NET路由也可以工作于经典模式,但是在这种情况下,应用程序的URL必须包含文件扩展名,或者应用程序必须在IIS中使用“*”配置处理器。
URL重写模块可以根据域名、HTTP标头和服务器变量进行重写判断。默认情况下,ASP.NET路由只能使用URL路径以及标头的形式。
除了重写功能,URL重写模块能够执行HTTP重定向,确定自定义状态码以及取消请求。ASP.NET路由则不具有这些功能。
URL重写模块在当前版本中是不能扩展的。ASP.NET路由完全能够扩展和定制。

查看英文原文:IIS URL Rewriting vs ASP.NET Routing

上一篇:vs2005打开项目提示System.Web.Extensions.Design, Version=1.0.61025.0 人气:1324
下一篇:asp.net自动执行任务-解决应用池回收问题 人气:1368
浏览全部ASP.NET路由组件的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐