4

我有一个 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 是从哪里来的,以及如何让它更多吗?

4

1 回答 1

1

此行为表明 max-age 值已在应用程序中的某个位置设置。根据MSDN 中的 SetMaxAge 文档

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

如果在管道中早些时候有代码将 max-age 设置为 7200,那么您所能做的就是将其设置为较低的数字。尝试将其设置为更高的数字将不起作用。

于 2013-09-19T12:08:36.167 回答