我遇到了通过本地IIS 5.1 Web服务器运行ASP.NET MVC应用程序的问题。我相信这些问题与IgnoreRoutes有关,但我似乎无法制作一个IgnoreRoute来解决这个问题。
问题:
我能够查看我的elmah错误页面(localhost / mvcapplication1 / elmah.axd),但是缺少CSS并且没有链接可用。
重现步骤
1)创建ASP.NET MVC 1.0应用程序
2)加入Elmah。下载程序集,将它们添加到项目中并使用Elmah Setup Instructions
中的步骤3)将您的应用程序从属性页切换到“使用本地IIS Web服务器” - >网络
4)添加通配符映射。也就是说,打开IIS,转到属性 - >虚拟目录 - >配置 - >添加:可执行文件:C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll扩展名:。*限制为:GET,HEAD,POST,DEBUG取消选中“检查文件是否存在”。
5)验证Global.aspx的RegisterRoutes中是否存在routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
。顺便说一句,我也试过routes.IgnoreRoute("elmah.axd");
现在..运行应用程序并调出localhost / mvcapplication1 / elmah.axd。
没有CSS和链接被破坏。
如果删除通配符映射,一切都很好,但应用程序URL路由不再有效。我理解这一点,但我应该能够使用正确的IgnoreRoute方案拉出elmah.axd。
思想??
答案 0 :(得分:12)
将FixIIS5xWildcardMapping模块添加到web.config:
<httpModules>
<add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>