快取原則
快取原則所定義的規則用來判斷是否可以使用所要求資源的快取複本來滿足要求。 應用程式指定有效期限的用戶端快取需求,但有效的快取原則是由用戶端快取需求、伺服器內容到期需求和伺服器重新驗證需求所決定。 用戶端快取原則與伺服器需求的互動一律會導致最保守的快取原則,協助確保將最新內容傳回給用戶端應用程式。
快取原則是以位置為基礎或以時間為基礎。 以位置為基礎的快取原則會根據所要求資源可以使用的位置,定義快取項目的有效期限。 以時間為基礎的快取原則會使用擷取資源的時間、與資源一起傳回的標頭,以及目前時間,定義快取項目的有效期限。 大部分的應用程式可以使用以時間為基礎的預設快取原則,以實作可從網際網路工程任務推動小組 (IETF) 網站取得之 RFC 2616 中所指定的快取原則。
下表中所述的類別是用來指定快取原則。
類別名稱 | 描述 |
---|---|
HttpRequestCachePolicy | 針對使用 HttpWebRequest 物件所要求的資源,代表以位置為基礎和以時間為基礎的快取原則。 |
RequestCachePolicy | 針對使用 WebRequest 物件所要求的資源,代表以位置為基礎的快取原則或以 Default 時間為基礎的快取原則。 |
HttpCacheAgeControl | 指定值,用來建立以時間為基礎之 HttpRequestCachePolicy 物件。 |
HttpRequestCacheLevel | 指定值,用來建立以位置為基礎和以時間為基礎之 HttpRequestCachePolicy 物件。 |
RequestCacheLevel | 指定值,用來建立以位置為基礎或 Default 以時間為基礎的 RequestCachePolicy 物件。 |
您可以定義應用程式所提出之所有要求或個別要求的快取原則。 當您同時指定應用程式層級快取原則和要求層級快取原則時,會使用要求層級原則。 您可以透過程式設計方式或是使用應用程式或電腦組態檔,來指定應用程式層級快取原則。 如需詳細資訊,請參閱 <requestCaching> 元素 (網路設定)。
若要建立快取原則,您必須建立 RequestCachePolicy 或 HttpRequestCachePolicy 類別的執行個體來建立原則物件。 若要在要求上指定原則,請將要求的 CachePolicy 屬性設定為原則物件。 以程式設計方式設定應用程式層級原則時,請將 DefaultCachePolicy 屬性設定為原則物件。
如需示範如何建立和使用快取原則的程式碼範例,請參閱設定網路應用程式的快取功能。