.Net 修改 Header 中的 Expires 資訊 (網頁優化) .Net 修改 Header 中的 Expires 資訊 (網頁優化)
  .NET       ez      2012-08-24

利用 IHttpModule 將每個輸出的檔案 Header 加入 Expires 資訊。

打開 web.config 進行編輯,在 <system.webServer> 下的 <modules> 裡加入以下:

<add name="CustomHeaderModule" type="專案名稱.CustomHeaderModule" />

以上名稱 CustomHeaderModule 可以自行更換。

網站目錄下新增一個類別檔案,名稱為 CustomHeaderModule.cs 程式碼如下:

using System;
using System.Web;
namespace XXX
{
    public class CustomHeaderModule : IHttpModule
    {
        public void Init(HttpApplication context)
        {
            context.PreSendRequestHeaders += OnPreSendRequestHeaders;
        }
        public void Dispose() { }
        void OnPreSendRequestHeaders(object sender, EventArgs e)
        {
            HttpContext.Current.Response.Expires = 60 * 24; //保留一天
        }
    }
}

查看 Header 可以發現已經修改成功。

※此部功能會造成 aspx、asp 或 php ... 也會包含 Expires,所以網頁可能會發生異常,所以請自行排除程式相關網址,即可正常運作。


標籤:   .NET

我要留言