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