HttpCacheVaryByContentEncodings 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供類型安全方式來設定 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 是用來指定是否快取動態壓縮的回應。 快取動態壓縮的回應表示壓縮成本只會產生一次、在第一次要求資源 (或應用程式重新開機) 和快取專案到期時。
類別 VaryByContentEncodings 的 HttpCachePolicy 屬性可識別資源有多個快取回應時,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) |