Saturday, 1 October 2011

How can you 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. Below is the syntax:
<%@ 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 objects in the control.

What are different types of caching using cache object of ASP.NET?


You can use two types of output caching to cache information that is to be transmitted to and displayed in a Web browser:
  Page Output Caching Page output caching adds the response of page to cache object. Later when page is requested page is displayed from cache rather than creating the page object and displaying it. Page output caching is good if the site is fairly static.
  Page Fragment Caching If parts of the page are changing, you can wrap the static sections as user controls and cache the user controls using page fragment caching.

What is Cache Callback in Cache?


       Cache object is dependent on its dependencies example file based, time based etc…Cache items remove the object when cache dependencies change.ASP.NET provides capability to execute a callback method when that item is removed from cache.

What is the difference between Cache object and Application object?

               The main difference between the Cache and Application objects is that the Cache object provides cache-specific features, such as dependencies and expiration policies

  How to get access to Cache object ?

              The Cache object is defined in the System.Web.Caching namespace. You can get a reference to the Cache object by using the Cache property of the HttpContext class in the System.Web namespace or by using the Cache property of the Page object