我在/elmah.axd路径上看不到未处理的异常(MyService:RestServiceBase)。
我添加了http处理程序以查看错误。
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
我已经安装了ServiceStack.Logging.Elmah
更新
我已经安装了Elmah.Mvc软件包
我可以在Controller的Action中出错,但我无法获得服务错误!
更新
我并不孤单:) https://groups.google.com/forum/#!topic/servicestack/WSrM5CLL120
答案 0 :(得分:4)
您需要订阅AppHostBase.ServiceExceptionHandler
方法中的Configure
个事件,该方法通常位于AppHost类中:
public class AppHost : AppHostBase
{
....
public override void Configure(Funq.Container container)
{
ServiceExceptionHandler += (request, exception) =>
{
//pass the exception over to Elmah
var context = HttpContext.Current;
Elmah.ErrorLog.GetDefault(context).Log(new Error(exception, context));
//call default exception handler or prepare your own custom response
return DtoUtils.HandleException(this, request, exception);
};
}
....
}