相关疑难解决方法(0)

如何使用Reflection或其他准确方法在控制器内获取当前的ASP.NET核心控制器方法名称

我想获取ASP.NET Core控制器的当前方法名称

我试过通过反射获取方法名称:

    [HttpGet]
    public async Task<IActionResult> CreateProcess(int catId)
    {
        string methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
Run Code Online (Sandbox Code Playgroud)

但这给了我一个价值MoveNext而不是CreateProcess

请注意我不想使用ViewContext

string methodName = ActionContext.RouteData.Values["action"].ToString();
Run Code Online (Sandbox Code Playgroud)

因为我通过启动设置小写我的网址.以上将createprocess取代我CreateProcess

我最好想要一个简单的单行而不是多行扩展方法.

c# reflection asp.net-core-mvc asp.net-core

16
推荐指数
2
解决办法
2万
查看次数

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

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

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

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

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

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

c# asp.net asp.net-core asp.net-core-1.0 asp.net-core-webapi

5
推荐指数
1
解决办法
6521
查看次数