【问题标题】:Elmah 1.2.1 ASP.NET MVC3 admin/elmah.axd working but detail pages, RSS etc. not workingElmah 1.2.1 ASP.NET MVC3 admin/elmah.axd 工作但详细页面、RSS 等不工作
【发布时间】:2012-01-07 02:06:14
【问题描述】:

我的 ELMAH 1.2.1 正在我的 ASP.NET MVC 3 站点中运行。我正在使用 admin/elmah.axd URL 方法。但是当我尝试深入了解详细信息页面或 RSS 提要等时,我会收到 404 错误。

为什么 admin/elmah.axd 对我有用,而不是 /admin/elmah.axd/detail/?id=F983FCAD-98C3-4665-B8E3-A9C00E30B510 或 RSS 提要或可下载日志等详细信息页面?

这是我的路线配置的 Glimpse 屏幕截图:

以下是我定义路由的方式,这些路由都是在应用程序启动时初始化的:

    RouteCollection routes = RouteTable.Routes;
    routes.Clear();
    routes.IgnoreRoute("cms/");
    routes.IgnoreRoute("elmah.axd/{*pathInfo}");
    routes.IgnoreRoute("{file}.htm");
    routes.IgnoreRoute("{file}.html");
    routes.IgnoreRoute("{file}.png");
    routes.IgnoreRoute("{file}.gif");

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

我还在http://groups.google.com/group/elmah/browse_thread/thread/c22b85ace3812da1 尝试了通配符映射问题,尽管这似乎是一个相当古老的线程,并且可能只是 ASP.NET 上的那个版本存在问题。

谢谢

【问题讨论】:

    标签: asp.net-mvc-3 elmah


    【解决方案1】:

    也许您在 ignoreRoute 调用中遗漏了 {*pathInfo} 部分?

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    

    编辑 让我们看看 Glimpse 是否可以帮助我们解决这个问题。

    1. 安装glimpse mvc nugget 包:"Glimpse.Mvc3" version="0.86"
    2. 访问 /glimpse.axd 并打开 glimpse。
    3. 现在访问详细信息页面,让我们看看 Glimpse 报告的内容。

    现在您应该会看到路由调试信息。 希望这能提供足够的信息来找出问题所在。我很好奇问题是什么。

    编辑 2 尝试将此添加到 web.config 中的 http 处理程序部分

    <add verb="POST,GET,HEAD" path="elmah.axd/rss" type="Elmah.ErrorRssHandler, Elmah" /> 
    

    检查 rss 提要现在是否有效。 似乎有一个issue with wildcard mapping 可能是这里的罪魁祸首。

    【讨论】:

    • 谢谢...我已经尝试了这些变体但没有成功,还有其他几个。实际上,您建议的第一个应该抓住它: routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("admin/elmah.axd/{*pathInfo}");
    • 先尝试基本设置。你能用标准的 /elmah.axd 路径测试它是否有效吗? (暂时忽略管理路径)
    • 刚刚尝试过,结果相同...我在 system.webServer (IIS 7.x) 下重新配置了 httpHandlers,我可以访问localhost:12000/elmah.axd。但是,一旦我尝试访问任何 ELMAH 子页面(例如 localhost:12000/elmah.axd/rss),就会得到相同的 HTTP 404。
    • @ShanPlourde 我可以通过使用 routes.IgnoreRoute("{resource}.axd/") -> 忽略 *pathInfo 部分来重现问题。你是如何定义你的路线的?
    • 您好圣地亚哥,感谢您一直以来的帮助。 Glimpse 是一个简洁的小诊断工具,但它表明我的 IgnoreRoutes 配置正确(我编辑了我的问题以包含 Glimpse 在本地运行的屏幕截图)。我总是能够查看我的根 Elmah.axd,但是一旦我尝试深入到诸如 elmah.axd/rss/ 之类的页面,我就会得到 404。这可能是我的处理管道中的其他东西,只是不确定是什么。
    猜你喜欢
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多