为什么IIS / ASP.Net / MVC3将max-age设置为7200?

时间:2013-09-18 01:05:09

标签: asp.net-mvc asp.net-mvc-3

我有一个ASP.Net MVC 3 Web应用程序,我用它来传递文件(在这个特定的测试中,pdf文件)。文件不会更改(如果文件更改,则会生成新的URL)。所以我想将max-age(用于Cache-Control)设置为31536000(1年)。

...代码

Response.Cache.SetMaxAge(TimeSpan.FromDays(365));

小提琴手回应......

Cache-Control: private, max-age=7200

但是,如果我将max-age设置为小于7200,那就可以了......

...代码

Response.Cache.SetMaxAge(TimeSpan.FromSeconds(7199));

小提琴手回应......

Cache-Control: private, max-age=7199

我已尝试在动作上设置[OutputCache]属性并获得相同的结果。

任何想法7200的来源以及如何让它超过这个?

1 个答案:

答案 0 :(得分:1)

此行为表明max-age值是先前在应用程序中设置的。根据{{​​3}}:

如果重复调用SetMaxAge方法,则在第二次和后续调用中,最大年龄的值只能减少。

如果管道中的代码设置max-age设置为7200,您可以做的就是将其设置为较低的数字。尝试将其设置为更高的数字将无效。