В последнее время я изучаю исходный код атрибута OutputCache в asp.net mvc-3 с намерением наследовать и настраивать его в соответствии с потребностями моего приложения. Я ожидал, что он будет включать в себя некоторый механизм кэширования, но мне не удалось найти место, где он хранит результат и действие в кеше и извлекает при последующих запросах. Более того, в реализации onActionExecuting
, onResultExecuting
и т. Д. Я видел код вроде
if(filterContext.ChildRequest or perhaps ChildAction)
{
}
и если текущий запрос не является дочерним атрибутом кэша действий, похоже, ничего не происходит. Может кто-нибудь объяснить это поведение. Кроме того, где фактически выполняется кэширование, если не в атрибуте OutuptCache?