В ASP.NET 4.x есть класс ReflectedControllerDescriptor
, который находится в System.Web.Mvc
. Этот класс предоставляет дескриптор контроллера.
В моих предыдущих приложениях я делал это:
var controllerDescriptor = new ReflectedControllerDescriptor(controllerType);
var actions = (from a in controllerDescriptor.GetCanonicalActions()
let authorize = (AuthorizeAttribute)a.GetCustomAttributes(typeof(AuthorizeAttribute), false).SingleOrDefault()
select new ControllerNavigationItem
{
Action = a.ActionName,
Controller = a.ControllerDescriptor.ControllerName,
Text =a.ActionName.SeperateWords(),
Area = GetArea(typeNamespace),
Roles = authorize?.Roles.Split(',')
}).ToList();
return actions;
Проблема в том, что я не могу найти эквивалент этого класса в ASP.NET Core. Я наткнулся на IActionDescriptorCollectionProvider
, который, кажется, содержит ограниченную информацию.
Вопрос
Моя цель — написать эквивалентный код в ASP.NET Core. Как мне этого добиться?
Ваша помощь очень ценится
IActionDescriptorCollectionProvider
и использовать его для получения нужных экземпляровControllerActionDescriptor
, как описано здесь - person stephen.vakil   schedule 01.09.2016