如何让Elmah使用ASP.NET和IIS 5.1 URL路由

时间:2009-06-11 16:48:21

标签: .net asp.net asp.net-mvc iis elmah

我遇到了通过本地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。

思想??

1 个答案:

答案 0 :(得分:12)

将FixIIS5xWildcardMapping模块添加到web.config:

<httpModules>
    <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>