【发布时间】:2019-08-27 05:46:39
【问题描述】:
我的 ASP.NET Core 应用程序中有以下代码来处理错误:
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler(builder =>
{
builder.Run(async context =>
{
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
var loggingService = context.RequestServices.GetService<ILoggingService>();
var exceptionFeature = context.Features.Get<IExceptionHandlerFeature>();
if (exceptionFeature != null)
{
Exception ex = exceptionFeature.Error;
Console.Error.WriteLine(ex.Message + " " + ex.StackTrace);
loggingService.Error(ex);
}
});
}
但是,当处于Development 环境中时,我想同时使用UseDeveloperExceptionPage() 和数据库日志记录的自定义错误处理。但这似乎不起作用(UseExceptionHandler() 禁用了UseDeveloperExceptionPage() 的功能)。
有没有什么方法可以实现这一点,而无需编写UseDeveloperExceptionPage() 代码表单scratch?
【问题讨论】:
标签: c# asp.net-core error-handling .net-core