ASP.NET v4无扩展URL功能在IIS 6.0上不起作用
为了避免静态请求影响性能,我想使用ASP.NET v4.0无扩展URL功能,但它不起作用 我的环境:ASP.NET v4无扩展URL功能在IIS 6.0上不起作用,asp.net,.net,asp.net-mvc,asp.net-mvc-3,iis-6,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 3,Iis 6,为了避免静态请求影响性能,我想使用ASP.NET v4.0无扩展URL功能,但它不起作用 我的环境: windows服务器sp2和IIS6 asp.net MVC 3与.net 4 该站点配置为ASP.NET 4.0,没有虚拟文件夹 无isapi重写 我请求的url类似于“http://domain.com/home/,然后获取“/home/eurl.axd/F7E1F5053B94F47869A8856C16DFFDF/”404错误 错误消息显示:Microsoft.NET Framework
在根网站的isapi筛选器中删除v2.0 aspnet_isapi.dll请注意,IIS 6和IIS 7有两个不同的管道,因此ASP.NET应用程序在这两个环境中运行的方式不同 请阅读: 在IIS 7中,ASP.NET请求处理管道直接覆盖IIS管道,本质上是在其上提供包装,而不是插入其中 但是 在IIS 6.0和早期版本中,ASP.NET作为IIS ISAPI扩展实现
要使用ASP.NET v4无扩展URL功能,请选中以下列表: 1) v4.0 aspnet_filter.dll在web服务器级别注册为ISAPI筛选器 2) “.axd”是在网站级别映射到v4.0 aspnet_isapi.dll的脚本 3) 该网站具有读取和编写脚本权限 4) 注册表中的“EnableExtensionlessUrls”未设置或设置为1 5) 网站配置为asp.net 4.0 6) v2.0 aspnet_filter.dll未注册,请检查根网站的ISAPI筛选器列表(这会导致我的问题)
如果上述情况属实,您唯一需要的是一个路由表或一些ASP.NET代码,用于将URL重新映射到托管处理程序。我已经检查了,但这并不能解决我的问题。@lucn请将您的解决方案作为答案发布并接受它,以便如果其他人有相同的问题,可以在此处找到答案。我发现,由于v2.0和v4.0,aspnet_isapi.dll同时存在