asp.net核心 – Asp.net核心错误管理

前端之家收集整理的这篇文章主要介绍了asp.net核心 – Asp.net核心错误管理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在以前的 Asp.net版本中,我用于创建从其他控制器继承的BaseController,并且拦截一般错误,并使用简单的日志记录方法记录每个错误并传递ExceptionContext filterContext.

我应该在Asp.net 5中做同样的事情吗?
我在Startup.cs中看到,有一个if / else语句基本上分开了调试/生存条件,用行

app.UseErrorHandler("/Home/Error");

用于生产应用.
我应该如何挂钩进程并记录错误

谢谢

解决方法

ASP.NET 5中的处理和记录错误涉及到一些元素.

为了处理生产场景中的错误显示错误页面,应用程序的方法可以是.UseExceptionHandler(). ASP.NET GitHub组织的诊断回购包括一个显示功能sample.对于要查看完整堆栈跟踪和其他诊断信息的开发时场景,请使用app.UseDeveloperExceptionPage(),如this sample所示.

如果应用程序正在使用MVC 6,那么就有一种处理错误的MVC特定方式,就像在早期版本的MVC中一样.在MVC 6中,过滤器(或Controller本身也是一个过滤器)可以处理/覆盖OnActionExecuted方法,并检查ActionExecutedContext参数以尝试处理错误.

在日志记录方面,ASP.NET 5中有一个新的日志记录基础设施,向任何注册的ILogger报告了大量信息. Visual Studio 2015中的默认项目模板会将一些记录器记录错误(和其他数据)到控制台和VS调试输出窗口.但是,当在IIS或IIS Express中运行时,没有控制台窗口(但!).但是,如果您从命令行运行(使用dnx web),则会看到错误.或者,当然,您可以注册一个写入日志文件数据库的其他记录器,并在那里查看日志.

在网络应用程序中注册一个自定义的ILogger:

>编写一个实现ILogger接口的记录器.请参阅DNX implementations如何做到这一点.>将ILoggerFactory类型的参数添加到应用程序的启动类的Configure方法中.>在配置方法调用loggerFactory.AddProvider(< some provider>)并传入记录器的一个实例.

猜你在找的asp.Net相关文章