我想获取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
我最好想要一个简单的单行而不是多行扩展方法.
我正在尝试检索控制器和动作,我已经尝试通过使用
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