我正在构建一个api应用程序。 在旧的ASP.NET中,有Application_Error()来捕获所有未处理的异常
protected void Application_Error()
{
var exception = Server.GetLastError();
_logger.FatalException("Fatal error.", exception);
}
ASP.NET 5应该使用什么?
答案 0 :(得分:5)
解决方案是添加自定义过滤器。这是如何做到的:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options => options.Filters.Add(new MyExceptionFilter()));
}
现在,自定义过滤器应该来自IExceptionFilter:
public class MyExceptionFilter : ActionFilterAttribute, IExceptionFilter
{
public void OnException(ExceptionContext context)
{
}
}
不幸的是,它在Startup.Configuration()
期间没有捕获异常