尝试在动态生成的图像上设置缓存响应标头,我收到一个奇怪的错误:
用户代码未处理 ArgumentOutOfRangeException
指定的参数超出了有效值的范围。
参数名称:utcDate
我正在从数据缓存中读取文件的最后写入时间,然后调用
Response.Cache.SetLastModified(lastWriteTime.Value.ToUniversalTime());
正如我所料,最后一次写入时间的值是{2011-07-25 18:09:56}
......我不知道为什么会出错。
此方法的MSDN 文档包含相当神秘的陈述(我的重点):
Last-Modified HTTP 标头使用 DateTime 值标记文档,该值指示文档上次修改的时间。
如果违反了缓存限制层次结构,此方法将失败。
SetLastModified 是在 .NET Framework 3.5 版中引入的。有关详细信息,请参阅 .NET Framework 版本和依赖项。
什么是缓存限制层次结构?我违反了一个吗?如果不是,为什么最后修改时间被拒绝?