Ответ 1
Выполнение некоторых копаний в источнике MVC, что почти самый оптимальный способ без копирования всех методов, необходимых для выполнения того, что вы уже делаете. Однако я не понимаю, почему вы не могли кэшировать найденные действия, чтобы последующие вызовы были более эффективными.
Внутренне ReflectedControllerDescriptor
также кэширует результаты, хотя, кажется, немного накладных расходов, так как каждый раз проверяет все атрибуты. Это похоже на вещи типа HttpPostAttribute
, а что нет.
Мое предложение - придерживаться того, что вы используете, а не кэшировать его самостоятельно. Если по какой-то причине способ, которым работает базовый метод, вы уже обновляетесь, и вам не придется беспокоиться об изменении способа хранения кэшированных элементов.