我们目前使用 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/