3

我在 /elmah.axd 路径上看不到未处理的异常 (MyService:RestServiceBase)。

我添加了用于查看错误的 http 处理程序。

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

我已经安装了 ServiceStack.Logging.Elmah

更新

我也安装了 Elmah.Mvc 包

我可以在控制器的操作中得到错误,但我无法得到服务错误!

更新

我并不孤单:) https://groups.google.com/forum/#!topic/servicestack/WSrM5CLL120

4

1 回答 1

4

您需要订阅通常位于 AppHost 类AppHostBase.ServiceExceptionHandler中的方法中的事件:Configure

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);
        };
    }

    ....
}
于 2012-12-11T19:20:26.513 回答