始终执行条件中间件
作者:互联网
我已经在我的ASP.NET Core Web-API 2.1应用程序中添加了自定义中间件,该中间件仅需要对某些请求执行.问题是,它总是在管道中执行.
启动文件
app.UseWhen(context => context.Request.Path.Value.Contains("AWS"), appBuilder =>
{
app.UseMiddleware<ValidateHeaderHandler>();
});
上面的代码完全忽略了条件,并始终执行ValidateHeaderHandler中间件.
解决方法:
您需要在appBuilder对象而不是直接在app上调用UseMiddleware()方法:
app.UseWhen(context => context.Request.Path.Value.Contains("AWS"), appBuilder =>
{
appBuilder.UseMiddleware<ValidateHeaderHandler>();
});
标签:asp-net-core-webapi,asp-net-core,c 来源: https://codeday.me/bug/20191108/2006269.html