Thursday, October 4, 2012

asp.net output cache not working? and the same code works on some servers? why

Here is one very typical issue that bring you to this blog.
Issues, I have one asp.net application with nothing special, for the performance consideration, we turn on the output cache. somehow, the same page never got cached on some servers, and It did cached on most servers. of vice versa.

short answer, It has nothing to be with the IIS Version. It’s All about HTTP Cookies and .net Framework version.  Let’s put a very basic Page.

just turn on the output cache using the most simple way,
image

for the code, we just send out some cookie,
image

Let’s start from some server that it works,
1st time you hit the url, get a initial access time.

image

  and cookie was sent to client from server side,
image

try again, this page will be cached. you are always see the page, you are 1st time here,
image

Why? because we setup the page need to be cached for 600 seconds, and cache response vary by any params, if we add something to the url parameter, we wills see refreshed page,
image

that’s the end of this cache working story, if we deploy the same code to another server, results are totally different.
1st time,
image

retry,
image

Why? I did a lot check, and find out the reason is simple. IT’S BECAUSE OF THE .NET FRAMEWORK VERSION.

In earlier verison of the FX, if you check the ouputCacheModule , it will cache response without checking the cookie value, that means even response has a server side cookie, it will still cache the response.
image

But for newer version, it will simply ignore the cache insert if response has cookie associated.
 image

my old version is, .4209, it never check cookie when cache response. that means you may see other people’s response (like login name?)
image
new version,.5456, it will check cookie which is more safe.
image

Hope it helps.

4 comments:

Oleksiy said...

It helped a lot. Thank you.

JacobHarman said...
This comment has been removed by the author.
Lovie said...

Recently I just want to know about programming and then I asked my friend. Then he took some time and share a link of this post with me. I really like the way of explaining of this writer. Then my friend told me about the thesis tester website. That website has a tool that is used mainly for improving our sentence formation. Its feature is really awesome.

John Fei said...

The business analysis services offered by Attract Group are truly a game-changer for companies looking to optimize their operations. Their holistic approach to analyzing business processes and creating tailored solutions is unparalleled. With a focus on data-driven insights and a deep understanding of market trends, Attract Group ensures that their clients stay ahead of the curve. Their expertise in identifying opportunities for growth and efficiency improvements sets them apart in the realm of business analysis services.

 
Locations of visitors to this page