Учитывая, что у меня есть доступ только к ControllerContext
, а не Action____Contexts
, каков оптимальный способ получить текущий исполняемый ActionDescriptor?
Пока единственный найденный мной метод:
new ReflectedControllerDescriptor(context.Controller.GetType())
.FindAction(context, context.RouteData.GetRequiredString("action"));
Это оптимальный метод?
Тот факт, что класс называется ReflectedControllerDescriptor
, заставляет меня задаться вопросом, есть ли высокая стоимость для этой операции, поскольку она будет выполняться при каждом запросе страницы? Связано это с тем, является ли этот класс внутренним кешем или я действительно должен кэшировать ReflectedControllerDescriptors
явно?