ASP.NET 5中的全局异常处理
|
如何将自己的日志逻辑附加到ASP.NET 5应用程序来处理业务逻辑和下层中抛出的每个异常? 我在Startup.cs中尝试使用自己的ILoggerProvider实现和loggerfactory.AddProvider(新的LoggerProvider(配置)).但是它似乎拦截了内部ASP.NET的东西,而不是我在较低层中抛出的异常. 解决方法通过使用两个选项:1)ILoggerProvider public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerfactory)
{
loggerfactory.AddProvider(new YourCustomProvider());
}
但是上面这个选项,似乎只调用了ILogger的写函数对MVC的具体事件,路由相关等等,当我在我的下层上抛出异常时,没有被调用,所以第二个选项是: 2)全局过滤器 public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().Configure<MvcOptions>(options =>
{
options.Filters.Add(new YourCustomFilter());
});
}
重要的是,自定义过滤器类实现了IExceptionFilter间隔: public class YourCustomFilter : ActionFilterAttribute,IExceptionFilter
{
public void OnException(ExceptionContext context)
{
///logic...
}
}
(编辑:) public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(options =>
{
options.Filters.Add(new YourCustomFilter());
});
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- BreezeJS vs JayData for ASP开发ASP.NET MVC
- asp.net – 如何在生产.NET网站中更改Web引用?
- ASP.NET:HTTP错误500.19 – 内部服务器错误0x8007000d
- asp.net – ADO.NET在.NET内核可能吗?
- asp.net-mvc – 在自定义授权属性中覆盖AuthorizeCore导致“
- ADO.NET实用经验 转载
- asp.net-mvc – 有没有办法让RoutePrefix以可选参数开头?
- asp.net – 在打开silverlight项目之前,您需要安装最新的Si
- asp.net – 我应该使用WebMatrix构建一个真实世界的网站吗?
- asp.net-mvc – ASP.NET MVC从数据库加载Razor视图
- 如何在ASP.NET应用程序中记录错误(异常)?
- ASP.NET WebApi:(405)方法不允许
- 如何在ASP.NET应用程序中使用jQuery捕获提交事件
- asp.net-mvc – MVC:覆盖默认的ValidationMessa
- asp.net – 如何将Controller上的Ajax reqest重定
- 在Azure网络应用程序中显示ASP.NET 5错误页面
- Asp.Net Webforms Vs Asp.Net WebSite(Razor)Vs
- asp.net – 如何使用EntityFramework种子数据代码
- asp.net – .NET Core项目添加对.NET Framework项
- asp.net-mvc – ASP.NET MVC FileStreamResult不
