我注意到asp.net 4.0现在安装了一个顶级的isapi插件(在iis6中),这样它就可以检查每个进入服务器的请求。这应该允许我们使用无扩展名URLS运行MVC应用程序并让aspnet isapi正确处理它们而不需要通配符映射(并避免相关的性能损失)?我还没有发现任何有关此事的文章,也没有时间进行调查。感谢
答案 0 :(得分:3)
ASP.NET 4.0安装C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
ISAPI筛选器以将传入请求映射到新CLR,但此筛选器未注册为通配符映射,但仅与已知扩展关联。它不会拦截每个传入的请求。如果你想拥有无扩展名的网址,你需要像ASP.NET 2.0一样执行same steps,而是使用新的ISAPI过滤器。
答案 1 :(得分:2)
似乎asp.net 4.0中有新功能可以启用无扩展名网址。我需要对此进行更多研究,以找出如何利用它。
基本上它将/eurl.axd/GUID附加到每个路由请求,然后传递给aspnet_isapi.dll进行处理。然后在此时删除eurl.axd。
我遇到的问题是我的Ionics重写器IIRF软件和这个新的.net重写之间的相互作用......它们似乎有时会相互干扰。
答案 2 :(得分:0)
请您查一下这个关于删除eurl.axd的页面,我测试过,它有效! http://www.helicontech.com/forum/15029-ASPNET_40_MVC_and_ISAPI_Rewrite_3.html