2012-03-14 72 views

回答

12

建議您通過this tutorial瞭解一般情況下Web(HTTP)上的緩存發生情況。

簡而言之,Web服務器需要生成適當的HTTP頭,同時將內容發送到客戶端以控制客戶端緩存。在ASP.NET/IIS環境中,它的IIS通常處理靜態文件內容,因此必須根據需要適當配置IIS以控制緩存靜態文件。見下面的鏈接以獲取更多信息有關配置IIS緩存靜態內容:

http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
How to configure static content cache per folder and extension in IIS7?

編輯:正如你問的最佳方法,最普遍的做法,我現在看到天到版本靜態內容(比如通過在文件或URL末尾附加一些版本標識符)。一旦版本化,您可以將其視爲不可變,然後發出緩存標頭以將其緩存無限期。在ASP.NET應用程序中,您可以將程序集版本(或產品版本)附加到每個靜態內容URL。所以基本上,你會使每個構建(或每個產品版本)的緩存失效。

+0

+1本教程鏈接 – 2012-03-14 08:38:39

+0

@VinayC怎麼樣在這個問題上[如何緩存ASP.NET MVC應用程序的js和css文件服務於IIS](http://stackoverflow.com/questions/41391542/how-to-cache-js-and-css-files-of-asp-net-mvc-application-served-on-iis/)?在此先感謝... – 2016-12-30 08:56:03

+0

@ClintEastwood,只要您提供靜態文件,使用IIS配置發出緩存標頭就可以工作。要處理靜態內容的更新,您必須使用版本化的URL(例如/image/a.png?v=2),以便瀏覽器在您更改版本時再次請求。 – VinayC 2017-01-05 11:13:24

0

您還可以使用HTML5離線Web應用程序清單。它允許你設置一個清單,你可以定義哪些文件將被本地緩存。

這是一個很好的,清楚的瞭解廣泛實施,避免必須瞭解有關IISHTML緩存的方法。

http://www.w3schools.com/html/html5_app_cache.asp

(你應該完全讀了這些事情)