ASP.NET 的快取組態
更新:2007 年 11 月
ASP.NET 提供許多設定網頁輸出快取和快取 API 的選項。網頁輸出快取是在網頁回應經過處理後快取這些回應,而快取 API 則是透過程式設計方式快取應用程式資料。如需詳細資訊,請參閱 ASP.NET 快取概觀。
網頁輸出快取組態
您可以在下列位置設定網頁輸出快取:
組態檔:您可以在應用程式組態階層架構的任何組態檔中設定網頁輸出快取,其中包含 Machine.config 檔 (設定電腦上所有的 Web 應用程式) 和應用程式特定的 Web.config 檔 (設定單一應用程式)。
個別網頁:您可以用宣告或程式設計方式在個別網頁中設定快取選項。您也可以將組態檔中建立的快取設定檔套用至個別網頁。
使用者控制項:您可以用宣告或程式設計方式在個別使用者控制項中設定快取。對於沒有被快取的網頁而言,這是快取其內容的簡易方式。
Web.config 快取組態設定
在 Web.config 檔中有兩個最上層組態區段是用於網頁輸出快取:OutputCacheSection 和 OutputCacheSettingsSection。
OutputCacheSection 區段可用於設定應用程式範圍的設定,例如是否啟用或停用網頁輸出快取。例如,您可以在 Web.config 檔中將 enableOutputCache="false" 加入至 OutputCacheSection,藉以停用整個應用程式的網頁輸出快取。組態檔中的設定會比個別網頁的快取設定優先採用,所以範例設定表示不會使用輸出快取。
OutputCacheSettingsSection 則是用來設定個別網頁可以使用的設定檔和相依性。例如,下列程式碼會建立名為 CacheProfile1 的 OutputCacheProfile,這個設定檔將會快取 60 秒實作的網頁:
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheProfile1" duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
Machine.config 快取組態設定
Machine.config 檔的組態區段與 Web.config 檔的相同,不同的是您可以鎖定 Machine.config 檔中的組態設定,使得任何層級的個別應用程式都無法覆寫這些設定。在共用裝載案例中可能會需要這項功能,因為主應用程式可能不想讓個別應用程式修改快取組態。如需詳細資訊,請參閱 HOW TO:鎖定 ASP.NET 組態設定。
網頁快取組態設定
您可以套用在組態檔中定義的快取設定檔,設定個別網頁中的快取。或者,您也可以在 @ OutputCache 指示詞中,或是設定頁面類別定義中的屬性 (Attribute),藉以設定個別快取屬性 (Property)。如需詳細資訊,請參閱 @ OutputCache 和設定網頁的快取性。
使用者控制項快取組態設定
您可以在使用者控制項檔案中設定 @ OutputCache 指示詞,或是在控制項的類別定義中設定 PartialCachingAttribute 屬性,從而設定使用者控制項快取。如需詳細資訊,請參閱ASP.NET Web 網頁的快取部分。
快取 API 組態設定
您可以在 Web.config 檔中設定應用程式的快取 API。當使用網頁輸出快取時,主應用程式可以在 Machine.config 檔中設定組態屬性,並且鎖定所有應用程式的快取組態設定。應用程式快取 API 是在 CacheSection 中設定。例如,您可以使用下列組態項目停用項目到期:
<cache disableExpiration="true" />
您也可以在組態檔的 CacheSection 中,指派值給屬性 (例如 DisableExpiration 和 DisableMemoryCollection),藉以指定其他應用程式快取 API 組態設定。