I've noticed that when I Response.Redirect to an .aspx page, it sometimes displays a cached page instead of actually executing the page and pulling fresh data from the database.
I'm not using output caching or anything special in .Net here -- this is a CRM, and the caching is either happening on the client or, perhaps more likely, automatically in IIS.
There is never a querystring involved, by the way. I'm passing a key via session. I know that if I used the querystring it would probably partially bypass the cache problem, but it's not an option in this case, and anyway what I really want is a deeper understanding of what's going on.
I did a little digging, and some people get around this by using Server.Transfer (which actually behaves differently than Response.Redirect and some of the details are not always desirable), and some other people said to set Response.Cache.SetCacheability(HttpCacheability.NoCache) on the page where I want to avoid caching.
I would like a better understanding of what's going on here, and possibly a best practice -- for one thing, I thought .aspx pages were always flagged to avoid caching. Right?
Any thoughts?