我们目前在IIS6上托管的ASP.NET web应用程序上使用DotLess。为了使其正常工作,我们需要调整IIS设置,以便aspnet_isapi.dll可以处理对*.css文件的请求(在IIS ->属性->主目录选项卡-> configuration中右击网站)。
我们现在正在将此web应用程序转移到IIS 7(经典模式),但似乎找不到以这种方式设置IIS 7的方法。有没有办法改变IIS7的设置,让aspnet_isapi.dll像我们在IIS6中那样处理对*.css文件的请求?
发布于 2011-05-19 22:09:49
你看过这个链接吗?这对你有帮助吗?http://learn.iis.net/page.aspx/508/wildcard-script-mapping-and-iis-7-integrated-pipeline/
有效: IIS7 ->网站->处理程序映射->添加通配符脚本匹配
IIS 7经典管道模式中的通配符脚本映射
在经典管道模式下,ASP.NET作为ISAPI扩展插入到IIS请求处理管道中-与IIS6中的方式完全相同。实际上,如果打开%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管理器中选择“处理程序映射”,然后单击“添加通配符脚本映射...”来实现。行动。
发布于 2011-05-19 22:25:23
定义一个HttpHandler并通过web.config将其连接到iis中,在本例中,我有一个名为CssHandler的类,它实现了IHttpHandler接口。
<configuration>
<system.web>
<httpHandlers>
<add verb="GET" path="*.css" validate="false" type="CssHandler" />
</httpHandlers>
</system.web>
<!-- for iis7 integrated pipeline-->
<system.webServer>
<handlers>
<add name="CssHandler" verb="GET" path="*.css" preCondition="integratedMode" type="CssHandler" />
</handlers>
</system.webServer>
</configuration>
https://stackoverflow.com/questions/6065356
复制相似问题