gpt4 book ai didi

c# - "UseDeveloperExceptionPage"和 "UseExceptionHandler"一起使用

转载 作者:行者123 更新时间:2023-12-03 16:39:35 25 4
gpt4 key购买 nike

我想在出现未处理的异常时显示开发人员异常页面,但我也想向其中添加日志记录。但是当我使用 app.UseDeveloperExceptionPage连同app.UseExceptionHandler ,只有我添加的最后一个有效。我怎样才能让两者一起工作?

最佳答案

默认的 ExceptionHandler 不能与 DeveloperExceptionPage 一起使用,因为它会捕获异常。
您可以做的是添加一个 ExceptionFilter,记录异常并让它被 DeveloperExceptionPage 捕获:

public class ExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext context)
{
Log.Error(context.Exception, $"{context.ActionDescriptor.DisplayName}");

// the important bit here
context.ExceptionHandled = false;
}
}

然后将其添加到过滤器中:
services.AddMvc(setup => { /* ... */ setup.Filters.Add<ExceptionFilter>(); });

关于c# - "UseDeveloperExceptionPage"和 "UseExceptionHandler"一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54825986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com