Asp.net

IIS7 記憶體控制

  • March 13, 2009

我正在嘗試做一些我認為相當簡單的事情。讓 IIS 7 告訴客戶他們可以將我網站上的所有圖像記憶體一段時間,比如說 24 小時。

我已經嘗試了<http://www.galcho.com/Blog/post/2008/02/27/IIS7-How-to-set-cache-control-for-static-content.aspx>上的步驟,但無濟於事。我仍然收到發送到伺服器的請求,並返回 304。

有沒有人有辦法做到這一點?我有一個圖形密集型站點,每次請求頁面時,我的使用者都會受到打擊(我的伺服器也是如此)。奇怪的是,圖像似乎在 Firebug 中顯示“Cache-Control private,max-age=3600”,但當我按 F5 時瀏覽器仍在請求它們。

如果您想設置 Cache-Control 標頭,遺憾的是,IIS7 UI 中沒有任何內容可以執行此操作。

但是,您可以將此 web.config 放在要設置它的文件夾或站點的根目錄中:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration&gt;
 &lt;system.webServer&gt;
   &lt;staticContent&gt;
     &lt;clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" /&gt;
   &lt;/staticContent&gt;
 &lt;/system.webServer&gt;
&lt;/configuration&gt;

這將通知客戶端將該文件夾和所有子文件夾中的內容記憶體 7 天。

您也可以通過編輯 IIS7 元數據庫來做到這一點appcmd.exe,如下所示:

\Windows\system32\inetsrv\appcmd.exe
設置配置“預設網站/文件夾”
-section:system.webServer/staticContent
-clientCache.cacheControlMode:UseMaxAge

\Windows\system32\inetsrv\appcmd.exe
設置配置“預設網站/文件夾”
-section:system.webServer/staticContent
-clientCache.cacheControlMaxAge:"7.00:00:00"

引用自:https://stackoverflow.com/questions/642954