HttpCacheVaryByContentEncodings 類別

定義

提供類型安全方式來設定 HttpCachePolicy 類別的 VaryByContentEncodings 屬性。

public ref class HttpCacheVaryByContentEncodings sealed
public sealed class HttpCacheVaryByContentEncodings
type HttpCacheVaryByContentEncodings = class
Public NotInheritable Class HttpCacheVaryByContentEncodings
繼承
HttpCacheVaryByContentEncodings

範例

下列範例示範如何啟用可從輸出快取提供的動態壓縮回應。 可接受的編碼方式為 「gzip」,並使用 指示詞的 @ OutputCache 屬性來設定 VaryByContentEncodings 。 如果裝載頁面的 Web 服務器未啟用動態壓縮,輸出快取將不會有指定內容編碼的快取回應。

<%@ Page Language="C#" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ OutputCache VaryByParam="none" Duration="10" VaryByContentEncodings="gzip" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Varying Output Cache By Content Encoding</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <%= DateTime.Now.ToString() %>
    </div>
    </form>
</body>
</html>

備註

屬性 VaryByContentEncodings 是用來指定是否快取動態壓縮的回應。 快取動態壓縮的回應表示壓縮成本只會產生一次、在第一次要求資源 (或應用程式重新開機) 和快取專案到期時。

類別 VaryByContentEncodingsHttpCachePolicy 屬性可識別資源有多個快取回應時,ASP.NET 用來唯一識別回應變化的要求標頭參數。 當回應相依于一組用戶端輸入時,例如標頭、參數或內容編碼時,這非常有用。

類別 HttpCacheVaryByContentEncodings 與 HTTP 快取控制項標頭不直接相關。 不過,這有助於確保對用戶端或 Proxy 的回應會因指定的內容編碼而有所不同。 將快取設定為因內容編碼而有所不同,可讓 ASP.NET 依標頭變更回應 Accept-Encoding 。 處理要求時, Accept-Encoding 會檢查標頭,並識別出第一個可接受的編碼方式,並用來採取下列其中一個動作:

  • 如果清單中也找到 VaryByContentEncodings 相符的編碼,且快取的回應存在,則會傳送快取的回應。

  • 如果在清單中也找到 VaryByContentEncodings 相符的編碼,但快取的回應不存在,就會產生回應並插入快取中。

  • 如果清單中找不到 VaryByContentEncodings 相符的編碼方式,則會搜尋非編碼的回應,也稱為身分識別回應。 如果找到身分識別回應,則會傳送它。 否則會產生新的非編碼回應,並儲存在快取中。

如需 屬性的詳細資訊 VaryByContentEncodings ,請參閱 RFC 2616:超文字傳輸通訊協定 -- 可在 World Wide Web Consortium (W3C) 網站上取得的 HTTP/1.1。 如需完整詳細資料,請參閱第 14 節「標頭欄位定義」。

您可以使用 指示詞或將設定檔新增至 outputCacheProfile Web.config 檔案中的 專案,來設定 VaryByContentEncodings 屬性 @ OutputCache

建構函式

HttpCacheVaryByContentEncodings()

初始化 HttpCacheVaryByContentEncodings 類別的新執行個體。

屬性

Item[String]

取得或設定值,這個值表示快取是否會依據指定的內容編碼方式而有所不同。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetContentEncodings()

取得值的陣列,這些值會指定要用來改變快取的內容編碼。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
SetContentEncodings(String[])

設定值的陣列,這些值會指定要用來改變快取的內容編碼。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱