【发布时间】:2018-05-15 12:43:43
【问题描述】:
我创建了一个检查某些标头的中间件(IMiddleware 实现)。它工作正常,但我需要为一项操作禁用它。我知道我可以解析 url 但还有其他方法吗?我尝试按属性标记操作,但中间件中不可用此数据。
【问题讨论】:
-
在那个低级别,您只需要解析 URL。
-
所以我应该使用 IActionFilter 吗? :(
我创建了一个检查某些标头的中间件(IMiddleware 实现)。它工作正常,但我需要为一项操作禁用它。我知道我可以解析 url 但还有其他方法吗?我尝试按属性标记操作,但中间件中不可用此数据。
【问题讨论】:
您可以在 ASP.NET Core 中使用基于请求的条件中间件
这就是你可以实现的方式
app.UseMiddlewareOne();
app.MapWhen(context => context.Request.Path.StartsWithSegments("/api"), appBuilder =>
{
appBuilder.UseMiddlewareTwo();
});
app.UseMiddlewareThree();
【讨论】: