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


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

    • 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路由完全能够扩展和定制。

    2. IIS URL重写:

    你可以看到URL重写模块是在请求被传递到请求处理器(Handler),例如ASP.NET管理的ASPX处理器之前被激活的。IIS URL重写并不知道具体的请求处理器。

    3. Asp.NET 路由:

    可以看到ASP.NET路由就是一个请求分发器,它必须明确地获知一个特定的请求究竟应途经哪个处理器。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    js中异步方案比较完整版(callback,promise,generator,async)
    10分钟搞懂toString和valueOf函数(详细版)
    Angular ViewChild
    Angular动画
    Angular组件之间的通讯
    用12个例子全面示范Angular的模板语法
    使用c++为node.js扩展模块
    requestAnimationFrame 实现JS动画
    使用CSS修改HTML5 input placeholder颜色
    js数组的方法
  • 原文地址:https://www.cnblogs.com/ecin/p/2087533.html
Copyright © 2020-2023  润新知