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