Disabling page caching not working

Discussion in 'ASP .Net' started by pradeep_TP, Apr 11, 2008.

  1. pradeep_TP

    pradeep_TP Guest

    Hi All,

    Can anyone please explain me why I am not able to disable Browser caching in
    ASP.net by writing the following code

    Response.Buffer = true;
    Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0,
    0, 0));
    Response.Expires = 0;
    Response.CacheControl = "no-cache";

    To test if it is working, I wrote the above code in the page load event
    handler of a ASPX page called Page1.aspx. I added a Button with a click event
    handler which posts the page to a second page Page2.aspx. Now when I press
    back button on the browswer while in Page2.aspx, I get page1.aspx. I should
    be getting page expired error page, but what I have observed is that whenever
    i press back button on the browswer, page1.aspx is freshly loaded (I put
    break on page_load event handler to find this out).

    I also tried to write this code in the page_load event of Page1.aspx instead
    of the four lines of code

    Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);

    The above code is also not working. I am using IE 7.0.

    thanks
    pradeep
     
    pradeep_TP, Apr 11, 2008
    #1
    1. Advertising

  2. I'm not sure I understand why you expect a "page expired" message. If
    caching is disabled, the page would simply be re-requested by the browser,
    exactly as you describe...
    Peter

    "pradeep_TP" <> wrote in message
    news:...
    > Hi All,
    >
    > Can anyone please explain me why I am not able to disable Browser caching
    > in
    > ASP.net by writing the following code
    >
    > Response.Buffer = true;
    > Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0,
    > 0, 0));
    > Response.Expires = 0;
    > Response.CacheControl = "no-cache";
    >
    > To test if it is working, I wrote the above code in the page load event
    > handler of a ASPX page called Page1.aspx. I added a Button with a click
    > event
    > handler which posts the page to a second page Page2.aspx. Now when I press
    > back button on the browswer while in Page2.aspx, I get page1.aspx. I
    > should
    > be getting page expired error page, but what I have observed is that
    > whenever
    > i press back button on the browswer, page1.aspx is freshly loaded (I put
    > break on page_load event handler to find this out).
    >
    > I also tried to write this code in the page_load event of Page1.aspx
    > instead
    > of the four lines of code
    >
    > Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    >
    > The above code is also not working. I am using IE 7.0.
    >
    > thanks
    > pradeep
    >
     
    Peter Bromberg [C# MVP], Apr 11, 2008
    #2
    1. Advertising

  3. pradeep_TP

    pradeep_TP Guest

    I do not want to show the previous page when the user clicks on the back
    button on the browswer. All I want it that when the back button is pressed,
    the standard "page expired" page should be shown.

    You are right, now I understand that if I disable the page caching, the page
    would be requested from the server. But how would i make the browser show
    only the page expired message ?

    thanks
    pradeep

    "Peter Bromberg [C# MVP]" wrote:

    > I'm not sure I understand why you expect a "page expired" message. If
    > caching is disabled, the page would simply be re-requested by the browser,
    > exactly as you describe...
    > Peter
    >
    > "pradeep_TP" <> wrote in message
    > news:...
    > > Hi All,
    > >
    > > Can anyone please explain me why I am not able to disable Browser caching
    > > in
    > > ASP.net by writing the following code
    > >
    > > Response.Buffer = true;
    > > Response.ExpiresAbsolute = DateTime.Now.Subtract(new TimeSpan(1, 0,
    > > 0, 0));
    > > Response.Expires = 0;
    > > Response.CacheControl = "no-cache";
    > >
    > > To test if it is working, I wrote the above code in the page load event
    > > handler of a ASPX page called Page1.aspx. I added a Button with a click
    > > event
    > > handler which posts the page to a second page Page2.aspx. Now when I press
    > > back button on the browswer while in Page2.aspx, I get page1.aspx. I
    > > should
    > > be getting page expired error page, but what I have observed is that
    > > whenever
    > > i press back button on the browswer, page1.aspx is freshly loaded (I put
    > > break on page_load event handler to find this out).
    > >
    > > I also tried to write this code in the page_load event of Page1.aspx
    > > instead
    > > of the four lines of code
    > >
    > > Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    > >
    > > The above code is also not working. I am using IE 7.0.
    > >
    > > thanks
    > > pradeep
    > >

    >
     
    pradeep_TP, Apr 12, 2008
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Hypo
    Replies:
    6
    Views:
    448
  2. Troy Simpson

    Fragment Caching inside page caching?

    Troy Simpson, Jan 19, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    815
    Troy Simpson
    Jan 19, 2004
  3. Norton

    Globally disabling caching

    Norton, Sep 21, 2004, in forum: ASP .Net
    Replies:
    5
    Views:
    4,690
    Sayed Hashimi
    Sep 22, 2004
  4. Replies:
    0
    Views:
    555
  5. JimLad
    Replies:
    3
    Views:
    934
    JimLad
    Jan 21, 2010
Loading...

Share This Page