Как определить имя контроллера и имя действия в IResourceFilter? - PullRequest
0 голосов
/ 07 сентября 2018

Я пишу фильтр ресурсов ASP.NET Core и хочу отключить обработку некоторых контроллеров / действий в методе OnResourceExecuting.

Я не могу найти API для получения имени контроллера и имени действия в Microsoft.AspNetCore.Mvc.Filters.ResourceExecutingContext class.

У кого-нибудь есть идеи? Спасибо!

1 Ответ

0 голосов
/ 08 сентября 2018

ResourceExecutingContext содержит свойство ActionDescriptor ( документы ).

Это базовый класс Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor или Microsoft.AspNetCore.Mvc.RazorPages.PageActionDescriptor.

Таким образом, когда вы преобразуете его в ControllerActionDescriptor ( документы ), вы можете получить доступ к свойствам ControllerName и ActionName.

if(resourceContext.ActionDescriptor is ControllerActionDescriptor controllerDescriptor)
{
    var controllerName = controllerDescriptor.ControllerName;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...