asp.net - 如何让 IIS 7 将对 .css 文件的请求路由到 aspnet_isapi.dll?

标签 asp.net iis iis-7 iis-6 isapi

我们目前使用 DotLess在 IIS 6 上托管的 ASP.NET Web 应用程序上。为了让它工作,我们需要调整我们的 IIS 设置,以便对 *.css 文件的请求将由 aspnet_isapi.dll 处理(右键单击 IIS 中的网站 -> 属性 -> 主目录选项卡 -> 配置)。

我们现在正在将此 Web 应用程序移至 IIS 7(经典模式),但似乎找不到以这种方式设置 IIS 7 的方法。有没有一种方法可以更改 IIS 7 的设置,以便像我们在 IIS 6 中那样由 aspnet_isapi.dll 处理对 *.css 文件的请求?

最佳答案

你看过这个链接吗?它对你有帮助吗? http://learn.iis.net/page.aspx/508/wildcard-script-mapping-and-iis-7-integrated-pipeline/

实际上是这样的:IIS7 -> 网站 -> 处理程序映射 -> 添加通配符脚本匹配

IIS 7 经典管道模式下的通配符脚本映射

在经典管道模式下,ASP.NET 作为 ISAPI 扩展插入到 IIS 请求处理管道中——与 IIS 6 中的方式完全相同。事实上,如果您打开 %WINDIR%\system32\inetsrv\config\applicationHost.config 文件并找到其中的部分,您可以看到 IIS 如何配置为将 ASP.NET 特定请求映射到 aspnet_isapi.dll:

<handlers accessPolicy="Read, Script">
  ...
  <add name="PageHandlerFactory-ISAPI-2.0" 
       path="*.aspx" verb="GET,HEAD,POST,DEBUG" 
       modules="IsapiModule" 
       scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" 
       preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />
  ...
</handlers>

注意处理程序映射的 preCondition 属性。除其他事项外,此属性设置为 classicMode,这可确保此处理程序映射仅在应用程序池配置为以经典模式运行时才生效。 现在,如果您想为以经典模式运行的 ASP.NET 配置通配符映射,您可以通过在 IIS 管理器中选择“Handler Mappings”然后单击“Add Wildcard Script Map...”操作来完成。

关于asp.net - 如何让 IIS 7 将对 .css 文件的请求路由到 aspnet_isapi.dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065356/

相关文章:

asp.net - 最好的 jQuery AJAX 多重 uploader

c# - 递归函数 MultiThreading 一次执行一个任务

c# - 为什么 ReSharper 在将属性转换为自动属性时需要扫描所有文件?

asp.net - 为什么我需要在 ASP.NET 控件上调用 dispose?

azure - 将 azure 应用程序服务/网站限制为域

.net - IIS7/WPAS : Multiple WCF services in same AppDomain?

asp.net-mvc - 任何想法如何解决 MVC/Firefox 的 HTTP 错误 400?

iis - 在 IIS 7.5 中设置默认网页

windows - IIS帐号环境

asp.net - DefaultAppPool 是否在 IIS 上以特殊提升的权限运行?