0

我有用于图像的 IHttp 通用处理程序 (.ashx),并且我已将缓存过期时间发送为 7 天,但在 Google 页面洞察力中它说我应该添加缓存验证器。以下是我的代码。请给我一些参考。

    public void ProcessRequest(HttpContext context)
    {
        TimeSpan refresh = TimeSpan.FromDays(7);
        context.Response.Cache.SetExpires(DateTime.Now.Add(refresh));
        context.Response.Cache.SetMaxAge(refresh);
        context.Response.Cache.SetCacheability(HttpCacheability.Public);
        context.Response.CacheControl = HttpCacheability.Public.ToString();
        context.Response.Cache.SetValidUntilExpires(true);
    }

谢谢

4

1 回答 1

0

经过一番研究,我发现我们可以添加 Etag 或 SetLastModified 或者只是将标头添加到缓存中,如下所示:

context.Response.Cache.SetETag(DateTime.Now.ToLongDateString());
context.Response.Cache.SetLastModified(DateTime.Now.ToLongDateString());
context.Response.AddHeader("Last-Modified", DateTime.Now.ToLongDateString());
于 2013-07-27T01:40:02.157 回答