Lately, i have been exploring the source code of OutputCache attribute in asp.net mvc-3 with intention to inherit and customize it according to needs of my application. I was expecting that it would include some caching mechanism but i failed to locate the place where it stores result of and actionresult in the cache and retrieves on subsequent requests. Moreover, in implementation of onActionExecuting, onResultExecuting etc. i have seen code like
if(filterContext.ChildRequest or perhaps ChildAction)
{
}
and if current request is not a child action cache attribute seems to be doing nothing. Can someone explain this behavior. Furthermore, where caching is actually performed if not in OutuptCache attribute?