其他分享
首页 > 其他分享> > 始终执行条件中间件

始终执行条件中间件

作者:互联网

我已经在我的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