【问题标题】:How to get Elmah working with ASP.NET and IIS 5.1 URL Routing如何让 Elmah 使用 ASP.NET 和 IIS 5.1 URL 路由
【发布时间】:2009-06-11 16:48:21
【问题描述】:

我在通过本地 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 服务器” --> Web

4) 添加通配符映射。即打开IIS,进入属性-->虚拟目录-->配置-->添加: 可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名:.* 限制为: GET, HEAD, POST, DEBUG 取消选中“检查文件是否存在”。

5) 验证 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 是否存在于 Global.aspx 的 RegisterRoutes 中。对了,我也试过routes.IgnoreRoute("elmah.axd");

现在.. 运行应用程序并打开 localhost/mvcapplication1/elmah.axd。

没有 CSS 和链接损坏。

如果我删除通配符映射,一切都很好,但是应用程序 URL 路由不再起作用。我明白这一点,但我应该能够使用正确的 IgnoreRoute 方案拉起 elmah.axd。

想法??

【问题讨论】:

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


    【解决方案1】:

    将 FixIIS5xWildcardMapping 模块添加到您的 web.config:

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

    【讨论】:

    • 我也有同样的问题。使用 IIS5.1 运行 XP,这对小猪进行了排序。我在所有 IIS7 解决方案中偶然发现了这个问题 :)
    • 这也适用于 mod_mono。路由过去 elmah.axd/?会吐404s。谢谢
    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2011-02-22
    相关资源
    最近更新 更多