2012-01-07 58 views
1

我ELMAH 1.2.1正在我的ASP.NET MVC 3网站工作。我正在使用admin/elmah.axd网址方式。但是,当我尝试深入到详细信息页面或RSS源等时,我收到404错误。Elmah 1.2.1 ASP.NET MVC3管理/ elmah.axd工作但详细页面,RSS等不起作用

为什么admin/elmah.axd为我工作,但不是详细信息页面,如/admin/elmah.axd/detail/?id=F983FCAD-98C3-4665-B8E3-A9C00E30B510,或者RSS源或可下载日志?

这里是我的路由配置的一瞥截图: enter image description here

下面是我如何定义我的路线,这是在应用程序启动时所有的初始化:

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版本的问题。

感谢

回答

0

也许你缺少你的ignoreRoute呼叫{*pathInfo}一部分?

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

编辑 让我们看看能窥见帮助我们解决这个问题。

  1. Intall的glimpse MVC块包: “Glimpse.Mvc3” 版本= “0.86”
  2. 访问/glimpse.axd并打开一瞥上。
  3. 现在访问详细信息页面,让我们看看有哪些报告。

现在你应该看到路由调试信息。 enter image description here 希望能给出足够的信息来弄清楚问题所在。我很好奇问题是什么。

EDIT 2 尝试在web.config中添加以下内容到HTTP处理程序部分

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

检查RSS提要现在的作品。 似乎有一个issue with wildcard mapping这可能是责怪在这里。

+0

谢谢......我已经试过这些变化没有成功,还有其他一些。实际上,第一个,你已经建议,应该抓住它:routes.IgnoreRoute(“{resource} .axd/{* pathInfo}”); routes.IgnoreRoute( “管理员/ elmah.axd/{*} PATHINFO”); – 2012-01-17 03:36:54

+0

先尝试基本设置。你可以测试它使用标准/elmah.axd路径吗? (现在忽略管理路径) – santiagoIT 2012-01-17 03:45:02

+0

刚刚尝试,相同的结果...我重新配置httpHandlers在system.webServer(IIS 7.x)下,我可以访问http:// localhost:12000/elmah.axd 。但只要我尝试访问任何ELMAH子页面,例如http:// localhost:12000/elmah.axd/rss /,我就会得到相同的HTTP 404. – 2012-01-17 04:55:45