C# 如何从ActionExecutingContext获取路由模板

C# 如何从ActionExecutingContext获取路由模板,c#,asp.net-web-api,asp.net-core,asp.net-core-webapi,C#,Asp.net Web Api,Asp.net Core,Asp.net Core Webapi,我需要通过http方法和路由模板限制对控制器方法的访问。如何从contextvar获取路由模板 public abstract class BaseController : Controller { public override void OnActionExecuting(ActionExecutingContext context) { string apiKey = context.HttpContext.Request.Headers[

我需要通过http方法和路由模板限制对控制器方法的访问。如何从contextvar获取路由模板

public abstract class BaseController : Controller
    {
      public override void OnActionExecuting(ActionExecutingContext context)
      {

        string apiKey = context.HttpContext.Request.Headers["key"];
        string httpMethod = context.HttpContext.Request.Method.ToUpper();
        string routeTemplate = context. ???

        if (CheckAccess(apiKey, httpMethod , routeTemplate))
        {
           context.Result = Forbid();
        }
      }
    }

我已经解决了这个问题

public abstract class BaseController : Controller
{
  public override void OnActionExecuting(ActionExecutingContext context)
  {

    string apiKey = context.HttpContext.Request.Headers["key"];
    string httpMethod = context.HttpContext.Request.Method.ToUpper();
    string routeTemplate =context.ActionDescriptor.AttributeRouteInfo.Template;

    if (CheckAccess(apiKey, httpMethod , routeTemplate))
    {
       context.Result = Forbid();
    }
  }
}