【问题标题】:Set an expiry date or a maximum age in the HTTP headers for static resources在静态资源的 HTTP 标头中设置到期日期或最长期限
【发布时间】:2014-04-17 02:43:49
【问题描述】:

我正在尝试提高 ASP.NET MVC 网站的性能。在此过程中,我运行了 Google 的 PageSpeed Insights 工具。该工具提到我应该通过在静态资源的 HTTP 标头中设置到期日期或最长期限来利用浏览器缓存。

我在网上找到的所有内容都指出了 IIS 中的配置设置。我的挑战是,这个站点是 Microsoft Azure 网站。因此,我无法访问 IIS 来修改这些东西。

我有没有办法在这种应用程序中为我的静态资源的 HTTP 标头添加到期日期?如果有,怎么做?

谢谢!

【问题讨论】:

  • 是否有可能在 blob 存储中托管静态资产(图像、css、js 文件)而不是与网站一起托管? Blob 存储允许您在项目上设置缓存控制标头,这可能对您的场景有用。

标签: asp.net-mvc azure


【解决方案1】:
        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
    {
        requestContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.Public);
        requestContext.HttpContext.Response.Cache.SetMaxAge(TimeSpan.FromSeconds(3600));
        requestContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddSeconds(3600));
        base.Initialize(requestContext);
    }

【讨论】:

  • 你能告诉我应该在哪里写吗?
猜你喜欢
  • 1970-01-01
  • 2011-07-30
  • 2016-04-19
  • 2013-12-06
  • 1970-01-01
  • 2015-11-08
  • 2010-10-26
  • 1970-01-01
  • 2023-04-11
相关资源
最近更新 更多