zoukankan      html  css  js  c++  java
  • web.config中的ExtensionlessUrlHandler-Integrated-4.0

    对于像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>
    <add
      name="ExtensionlessUrl-ISAPI-4.0_32bit"
      path="*."
      verb="GET,HEAD,POST,DEBUG"
      modules="IsapiModule"
      scriptProcessor="%WINDIR%Microsoft.NETFrameworkv4.0.30319aspnet_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/

  • 相关阅读:
    WinAPI: ExtractIcon 获取 EXE、DLL 或 ICO 文件中的图标
    WinAPI: LoadLibrary、FreeLibrary 载入与载卸模块
    WinAPI: LoadCursor 从资源中载入光标
    WinAPI: LoadIcon 从资源中载入图标
    WinAPI: LoadString 从资源中载入字符串
    学习使用资源文件[9] WAVE 资源
    学习使用资源文件[11] DLL 中的资源文件
    WinAPI: LoadBitmap 从资源中载入位图
    学习使用资源文件[10] 嵌入和提取任何类型的文件
    肛男四代
  • 原文地址:https://www.cnblogs.com/hyl8218/p/7363393.html
Copyright © 2011-2022 走看看