没有MVC .Net 4.5.1的Web API 2中的Elmah

sha*_*med 1 elmah .net-4.5 asp.net-web-api

我试图在不使用MVC的ASP.NET WEB API 2项目中实现Elmah错误日志记录.

我尝试了Elmah和Elmah.mvc nuget包,我甚至无法使用两者浏览到emlah页面.

ASP.NET WEB API 2中是否支持elmah?

PS.我甚至没有开始记录错误.我只是想浏览页面(elmah中的elmah.axd或elmah.mvc中的/ elmah)并且它无法访问.

编辑:我正在尝试实现博客中提到的方法.

http://blogs.msdn.com/b/webdev/archive/2012/11/16/capturing-unhandled-exceptions-in-asp-net-web-api-s-with-elmah.aspx

根据它,elmah.axd页面应该在添加包后立即可访问.但这对我不起作用.

更新:错误登录工作正常BTW.唯一的问题是我无法在浏览器中查看错误日志.

Jas*_*son 6

我遇到了这个问题,因为我将我的web api配置为从根URL而不是'api'路径运行,而api.mydomain.com不是mydomain.com/api.这导致/ apmah.axd路径被web api路由捕获并返回404错误No type was found that matches the controller named 'elmah.axd'

为了解决这个问题,我忽略了我的Global.asax文件中的路由:

protected void Application_Start()
{
    RouteTable.Routes.Ignore("{resource}.axd/{*pathInfo}"); 

    GlobalConfiguration.Configure(WebApiConfig.Register);
}
Run Code Online (Sandbox Code Playgroud)

注意:忽略WebApiConfig routes部分中的路由config.Routes.IgnoreRoute(...)不起作用,必须使用RouteTable.Routes.Ignore(...)上述方法完成.

我还在下一步写了博客文章 - 如何在Web API 2.1中使用elmah记录所有未处理的异常,网址为http://www.jasonwatmore.com/post/2014/05/03/Getting-ELMAH-to-包罗万象的,未处理的例外-在的Web-API 21.aspx