快取原則會定義規則,用來判斷是否可以使用所要求資源的快取複本來滿足要求。 應用程式會針對新鮮度指定用戶端快取需求,但有效的快取原則取決於用戶端快取需求、伺服器的內容到期需求,以及伺服器的重新驗證需求。 用戶端快取原則和伺服器需求的互動一律會導致最保守的快取原則,以協助確保最新的內容會傳回客戶端應用程式。
快取策略可以是基於位置或時間的。 以位置為基礎的快取策略會根據要求的資源取得位置,來定義快取項目的新鮮度。 以時間為基礎的快取原則使用擷取資源的時間、資源所附帶的標頭,以及目前時間,來定義快取項目的新鮮度。 大部分的應用程式都可以使用默認時間型快取原則,其會實作 RFC 2616 中指定的快取原則,可在 因特網工程工作組 (IETF) 網站取得。
下表所述的類別可用來指定快取原則。
| 類別名稱 | 說明 |
|---|---|
| HttpRequestCachePolicy | 代表針對使用 HttpWebRequest 物件請求的資源,所制定的基於位置和時間的快取策略。 |
| RequestCachePolicy | 代表使用 Default 物件要求之資源的位置型快取原則或WebRequest時間型快取原則。 |
| HttpCacheAgeControl | 指定用來建立以時間為基礎的 HttpRequestCachePolicy 物件的值。 |
| HttpRequestCacheLevel | 指定用來建立位置型和以時間為基礎的 HttpRequestCachePolicy 物件的值。 |
| RequestCacheLevel | 指定用來建立位置型或 Default 時間型 RequestCachePolicy 物件的值。 |
您可以為應用程式的所有要求或個別要求定義快取原則。 當您同時指定應用層級快取原則和要求層級快取原則時,會使用要求層級原則。 您可以使用應用程式或計算機組態檔,以程式設計方式指定應用層級快取原則。 欲了解更多資訊,請參閱<requestCaching>元素(網路設定)。
若要創建快取策略,您必須透過建立RequestCachePolicy類別或HttpRequestCachePolicy類別的實例來建立策略物件。 若要在要求上指定原則,請將要求的 CachePolicy 屬性設定為原則物件。 以程式設計方式設定應用層級原則時,請將 DefaultCachePolicy 屬性設定為原則物件。
如需示範建立和使用快取原則的程式碼範例,請參閱 在網路應用程式中設定快取。