2016-05-10 2 views
1

Я хочу получить доступ к RouteTemplate внутри настраиваемого фильтра действий в моем проекте Web Api.Шаблон доступа к API веб-API внутри настраиваемого фильтра действий

Я зарегистрировал настраиваемый фильтр действий для выполнения перед любым действием, как показано ниже.

public class AuthorizationFilter : ActionFilterAttribute 
{ 
     public override void OnActionExecuting(HttpActionContext filterContext) 
     { 

     } 
} 

Если вы видите изображение ниже, я могу получить доступ к шаблону маршрута из фильтра Quick Watch внутри фильтра. Но если я пишу то же код, он выдает ошибку 'System.Web.Http.WebHost.Routing.HttpWebRoute' is inaccessible due to its protection level

Есть ли другой способ получить доступ к шаблону маршрута

Свойства Использования: (((System.Web.Http.WebHost.Routing.HttpWebRoute)(HttpContext.Current.Request.RequestContext.RouteData.Route)).HttpRoute).RouteTemplate

enter image description here

ответ

1

Вот как это будет работать.

public override void OnActionExecuting(HttpActionContext filterContext) 
{ 
     if (Settings.GetKeyValue<string>("EnableAuthorization") == "Enabled") 
     { 
      var routeTemplate = filterContext.Request.GetRouteData().Route.RouteTemplate; 
     } 
} 
Смежные вопросы