Cha*_*ion 6 c# error-handling asp.net-web-api
我正在构建一个.NET WebApi应用程序,我想设置一个全局错误处理程序(基本上是一个函数,当一个异常从应用程序的任何地方冒出来时执行).这个链接感叹对此的支持,但提供了几种解决方法.不幸的是,我似乎找不到任何有用的文档.
这是我的要求:
我该如何设置呢?
如果您更新到Web API v2.1,可通过Nuget使用此命令获得:
Install-Package Microsoft.AspNet.WebApi
Run Code Online (Sandbox Code Playgroud)
您可以通过继承Exception Logger来创建全局异常处理程序.
这是一个例子:
class TraceExceptionLogger : ExceptionLogger
{
public override void LogCore(ExceptionLoggerContext context)
{
Trace.TraceError(context.ExceptionContext.Exception.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
更多详细信息,请参见发布说明:http://www.asp.net/web-api/overview/releases/whats-new-in-aspnet-web-api-21#global-error
您应该注意以下几个选项:
事件AppDomain.CurrentDomain.FirstChanceException:
无论是否处理,都会触发每个异常。在您的特定处理程序之前使用它进行日志记录等。
事件AppDomain.CurrentDomain.UnhandledException:
对于代码中未处理的每个异常都会触发
您需要在可以访问 IOC 容器等的服务中创建处理程序
| 归档时间: |
|
| 查看次数: |
3120 次 |
| 最近记录: |