ASP.Net Interview Question: How to cache different version of same page using ASP.NET cache object?

Output cache functionality is achieved by using “OutputCache” attribute on ASP.NET page header.

<%@ OutputCache Duration="20" Location="Server" VaryByParam="state" VaryByCustom="minorversion" VaryByHeader="Accept-Language"%>
  • VaryByParam:- Caches different version depending on input parameters send through HTTP POST/GET.
  • VaryByHeader:- Caches different version depending on the contents of the page header.
  • VaryByCustom:- Lets you customize the way the cache handles page variations by declaring the attribute and overriding the GetVaryByCustomString handler.
  • VaryByControl:- Caches different versions of a user control based on the value of properties of ASP objects in the control.