views:

1234

answers:

3

I would like to not cache my aspx pages anywhere. For some reason IE ignores meta tags which are set from my master page

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">

I am trying to see if I can set my Http response header to "Cache-Control" - "no-cache". Setting something like

HttpContext.Current.Response.Headers.Add("Cache-Control", "no-cache");
   HttpContext.Current.Response.Headers.Add("Exipres", DateTime.Now.AddDays(-1).ToShortDateString());

in every page would be painful. I am thinking if there is anyway we can set this in IIS7 (add this header to aspx pages, but not images/css/js). Is it possible ?

Edit: As per suggestion in http://technet.microsoft.com/en-us/library/cc753133%28WS.10%29.aspx, adding a custom http response header adds the header to all files including js,css,images. So adding "Cache-Control","no-cache" here did not work either

Edit2: I am thinking about adding a httpmodule . Something similar to http://blogs.technet.com/stefan_gossner/archive/2008/03/12/iis-7-how-to-send-a-custom-server-http-header.aspx. Any suggestions ?

+1  A: 

http://technet.microsoft.com/en-us/library/cc770661(WS.10).aspx

By default IIS only caches static content; you'll have to make adjustments if it's caching non-static content already.

jvenema
ram
IIS doesn't cache aspx by default - that's what I was stating. If it IS caching aspx pages, you'll have to check the same settings to ensure that caching is disabled for dynamic pages.
jvenema
A: 

One absolutely definite way to keep any browser from caching your page would be to add a query string variable set to a random number, so your links would always end in "?ran=". I've done that on a limited basis in the past.

Yoenhofen