我们有一个Webforms项目与URL路由.我已经为图像和css文件定义了异常路由
routes.Add("IgnoreImages",new Route("img/{*pathInfo}",new StopRoutingHandler())); routes.Add("IgnoreCss",new Route("css/{*pathInfo}",new StopRoutingHandler()));
所以静态文件应由IIS直接提供,路由应该被绕过.
使用Fiddler检查图像的响应时,Cache标题下的唯一键为Date.缺少的是Cache-control:max:age key.如何为静态文件指定缓存策略?应用程序在IIS7.5上运行.
解决方法
解决方案是使用web.config文件中的system.webserver部分配置服务器缓存(和压缩).这是一个起点:
http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
例:
<configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" /> <!-- 1 day --> </staticContent> </system.webServer> </configuration>