如何解决对ASP.NET Core异常处理中间件的条件配置
我正在调用相同的ASP.NET Core 3.1中间件,但具有不同的选项。例如,我的Startup.Configure()
如下:
var exceptionHandlerOptions = new ExceptionHandlerOptions();
app.UseWhen(context => context.Request.Path.StartsWithSegments("/api"),appBuilder =>
{
// Error in WebApi controller
exceptionHandlerOptions.ExceptionHandlingPath = "/api-exception-handler";
appBuilder.UseMiddleware<exceptionhandlermiddleware>(Options.Create(exceptionHandlerOptions));
});
app.UseWhen(context => !context.Request.Path.StartsWithSegments("/api"),appBuilder =>
{
// Error in Mvc controller
exceptionHandlerOptions.ExceptionHandlingPath = "/mvc-exception-handler";
appBuilder.UseMiddleware<exceptionhandlermiddleware>(Options.Create(exceptionHandlerOptions));
});
但是,我无法使其正常运行。 ExceptionHandlingPath
始终为"/mvc-exception-handler"
。
P.S。为了简化起见,我整理了示例。我的实际实现虽然有所不同我在IAppBuilder上有一个扩展方法,用于包装Exceptionhandlermiddleware的UseWhen。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。