对于像MVC这种比较特殊的URL,例如

www.store.com/books/GetById/2

因为没有文件后缀名,IIS通常会无法解析,返回403或者404错误。ASP.NET v4.0增加了新的特性,当运行在IIS7以上版本,并且需要IIS的一个快速修复程序KB980368,配置web.config后,将会正常处理上面这种 extensionless URL,

在IIS经典模式下,用的是aspnet_isapi.dll(IIS的native handler扩展),通过映射到System.Web.DefaultHttpHandler进行处理,

<system.webServer><handlers>
<addname="ExtensionlessUrl-ISAPI-4.0_32bit"path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> </handlers> </system.webServer>

在集成模式下,会映射到System.Web.Handlers.TransferRequestHandle来处理

<system.webServer><handlers><remove name="ExtensionlessUrlHandler-Integrated-4.0" /><remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer>

另外就是runAllManagedModulesForAllRequests设置。

<modules runAllManagedModulesForAllRequests="false" />

这里当设置为true的时候是,所有的请求,包含静态文件的请求和没有文件扩展名的请求,都会经过自定义的HttpModule。

参考文章http://www.hanselman.com/blog/BackToBasicsDynamicImageGenerationASPNETControllersRoutingIHttpHandlersAndRunAllManagedModulesForAllRequests.aspx

https://blogs.msdn.microsoft.com/tmarq/2010/05/26/how-extensionless-urls-are-handled-by-asp-net-v4/

web.config中的ExtensionlessUrlHandler-Integrated-4.0相关推荐

  1. asp.net Session在web.config中的三种配置方式——详解

    这段代码就是设置session在web.config中的存储方式. < sessionState mode="Off|InProc|StateServer|SQLServer" ...

  2. (译)利用ASP.NET加密和解密Web.config中连接字符串

    介绍 这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串 背景描述 在以前的博客中,我写了许多关于介绍 Asp.net, Gridview, SQL Server, A ...

  3. ASP在 Web.config 中创建数据库连接字符串

    在 Web.config 中创建数据库连接串 我们需要在网站的配置文件中增加一些行,以便 Entity Framework 知道如何连接到我们的数据库,双击Web.config 文件. 卷到文件的最后 ...

  4. web.config中的连接字符串 ---关于 providerName 特性

    关于这个问题,在网上找到的资料很少,也没有发现具体解决的方式: 先做一下笔记,等有什么新突破时,在补充: 两种方式为appSettings和connectionStrings [html] view ...

  5. ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法

    ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法 第一种情况,本地开发时,使用本地数据库,如下面的代码 <connectionStrings& ...

  6. Web.config中连接字符串的加密和解密

    Web.config中连接字符串的加密和解密  我们采用命令行的方式进行加密和解密.使用ASP.NET2.0提供的命令行工具aspnet_regiis.exe,该应用程序位系统目录下Microsoft ...

  7. 解决打不开 RSA 密钥容器 即:加密web.config中的内容

    简单的解决方法: WebConfig 加解密,未能使用提供程序"RsaProtectedConfigurationProvider"进行解密.提供程序返回错误消息为: 打不开 RS ...

  8. 【转载】App.config/Web.config 中特殊字符的处理

    写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...

  9. web.config中的globalization 标签在将几个不同服务器上的网闸内容以统一面貌集成在自己网站上时的要考虑的问题

    今天,忽然发现web.config中的<globalization >标签的重要,尤其是在将几个不同服务器上的网闸内容以统一面貌集成在自己网站上时,容易出错,例如下面: --------- ...

  10. web.config中的InProc模式 与 StateServer模式[转]

    开发asp.net应用时,修改web.config中的SessionState节点. stateserver模式: <sessionState mode="StateServer&qu ...

最新文章

  1. 2011年使用天正建筑8.0注册版(附注册机)
  2. 学会了很多计算机小技巧,超实用的八个电脑小技巧,全都学会让你成为电脑高手...
  3. python自然语言处理书籍_精通Python自然语言处理pdf
  4. js实现放大镜的效果
  5. 折叠屏究竟是不是智能手机的未来?| 畅言
  6. soft music
  7. Java基础,删除指定索引的元素,编程思路详解
  8. 固高控制卡Home捕获和Index捕获
  9. VirusTotal智能搜索安卓样本示例
  10. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布
  11. web前端面试题以及相关答案解析
  12. 300美元课程就能帮你获得93000美元的薪水,高等教育的路在何方?
  13. 1.3双摇杆遥控器电路部分--基本外设电路(ST-link下载、串口、按键、摇杆、电量检测、LED指示灯、0.96寸OLED、NRF24L01)
  14. 绘制带有角度的CAD图形
  15. 《CSAPP》(第3版)答案(第三章)(一)
  16. linux 动态库文件stripped属性理解(转)
  17. 用c语言写出变色的心形图案
  18. 贝叶斯分类器以及Python实现
  19. 3W-60W恒流LED驱动电源AH3103
  20. Could not get JDBC Connection

热门文章

  1. Ubunt 服务教程集锦
  2. 多态、抽象类、接口_DAY09
  3. ColorPic 一套簡單好用的顏色選擇器!
  4. BLOB:大数据,大对象,在数据库中用来存储超长文本的数据,例如图片等
  5. WPF 获取程序路径的一些方法,根据程序路径获取程序集信息
  6. centos,apache运维经验
  7. Android进阶篇-Http协议
  8. MAVEN(一)中的Scope
  9. [Noip2007]Core树网的核
  10. win7右下角无线网图标显示未连接,但是实际上已连接上,也能上网