Reputation: 2559
I've deployed an ASP.NET MVC app on IIS7 and Windows Server 2008.
I've read posts on here, and around the web, but can't get the darn client-side caching to work.
I'm trying to cache everything in the /Content folder. So far I've select that folder in IIS manager, and set the appropriate HTTP Response Headers (under Common Headers). I've also checked the web.config file in the /Content folder and the values there are being set.
All resources in /Content come back with this (from FireBug):
Cache-Control no-cache, no-store, must-revalidate
Pragma no-cache
Content-Type image/png
Expires -1
Last-Modified Sun, 11 Oct 2009 19:01:40 GMT
Accept-Ranges bytes
Etag "f318d643a54aca1:0"
Server Microsoft-IIS/7.0
X-Powered-By ASP.NET
Date Sun, 11 Oct 2009 20:40:01 GMT
Content-Length 620
Note the Cache-Control and Expires values for this static image being requested.
The site is currently compiled in Debug (this will change), but surely that wouldn't make a difference?
Obviously I'm overlooking something, any ideas would be appreciated.
Thanks
Upvotes: 3
Views: 4042
Reputation: 46673
If you can't get it working using the IIS admin tool, try Jeff Atwood's recommendation from this thread:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
Upvotes: 2