ActionDescriptor из ControllerContext

Учитывая, что у меня есть доступ только к ControllerContext , а не к Action____Contexts , каков оптимальный способ получить текущее выполнение Дескриптор действия?

Пока единственный метод, который я нашел, это:

new ReflectedControllerDescriptor(context.Controller.GetType())
    .FindAction(context, context.RouteData.GetRequiredString("action"));

Является ли это оптимальным методом?

Тот факт, что класс называется ReflectedControllerDescriptor, заставляет меня задаться вопросом, не требует ли эта операция значительных затрат, поскольку она будет выполняться при каждом запросе страницы? В связи с этим, этот класс внутренне кэширует или я действительно должен кэшировать ReflectedControllerDescriptorsявно?

14
задан Chris Marisic 30 May 2012 в 20:31
поделиться