中间件中的路由控制器和动作

az4*_*dan 5 c# asp.net asp.net-core asp.net-core-1.0 asp.net-core-webapi

我正在尝试检索控制器和动作,我已经尝试通过使用

var routeData = context.GetRouteData();
Run Code Online (Sandbox Code Playgroud)

在中间件的Invoke方法中,但每次都会产生null。

是否可以在中间件中检索路由数据?

我要实现的目标是检查所请求的操作是否具有[RequireToken]属性,如果有,它将检查传入的标头中是否包含特定的令牌。

Soc*_*ock 6

动作/控制器上下文非常特定于中间件管道的MVC部分。无法在MVC管道本身之外检索路由数据。

为了实现所需的行为,您应该查看实现ActionFilter的替代方法:https : //docs.asp.net/en/latest/mvc/controllers/filters.html