IHttpCachePolicy::SetVaryByValue 方法
設定快取原則的變數值。
語法
virtual HRESULT SetVaryByValue(
PCSTR pszValue
) = 0;
參數
pszValue
Null 終止字串的指標,其中包含要附加的自訂值。
-或-
NULL。
傳回值
HRESULT
。 可能的值包括 (但不限於) 下表中的這些值。
值 | 描述 |
---|---|
S_OK | 表示作業成功。 |
E_INVALIDARG | 表示 pszValue 為 Null。 |
ERROR_ARITHMETIC_OVERFLOW | 表示 的 pszValue 長度超過上限。 |
備註
註冊要求或回應事件的CHttpModule衍生類別會接收IHttpCoNtext指標作為對應 virtual
方法上的參數。 若要設定變數值,請呼叫 IHttpCoNtext::GetResponse 方法、 IHttpResponse::GetCachePolicy 方法,最後呼叫 SetVaryByValue
方法。
SetVaryByValue
行為取決於實作。 您應該使用下列資訊作為指導方針,但在所有案例中可能都不正確:
IHttpCachePolicy介面目前的預設實作器會宣告
private
包含變數資料的緩衝區。 在建構實作者期間,此緩衝區會初始化為空白。SetVaryByValue
如果參數為 Null,pszValue
則會立即傳回E_INVALIDARG。 否則,如有必要,內部緩衝區會展開,以保存pszValue
的內容和 Null 終止字元。 然後pszValue
,後面接著 Null 終止字元,會複製到這個緩衝區。 在呼叫SetVaryByValue
期間,會在必要時覆寫呼叫SetVaryByValue
之前緩衝區中的任何資料。
實作者的注意事項
IHttpCachePolicy 實作者負責將 pszValue
參數複製到緩衝區,因為與 參數相關聯的 pszValue
資料不保證在呼叫 SetVaryByValue
之後有效。
來電者的附注
IHttpCachePolicy
用戶端負責將以 Null 終止的字串傳遞至 SetVaryByValue
方法。 用戶端也負責在 呼叫 之後處置 pszValue
,因為 IHttpCachePolicy
實作者會複製到 pszValue
內部 SetVaryByValue
緩衝區。
規格需求
類型 | 描述 |
---|---|
Client | - Windows Vista 上的 IIS 7.0 - Windows 7 上的 IIS 7.5 - Windows 8 上的 IIS 8.0 - Windows 10上的 IIS 10.0 |
伺服器 | - Windows Server 2008 上的 IIS 7.0 - Windows Server 2008 R2 上的 IIS 7.5 - Windows Server 2012 上的 IIS 8.0 - Windows Server 2012 R2 上的 IIS 8.5 - Windows Server 2016上的 IIS 10.0 |
產品 | - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0 - IIS Express 7.5、IIS Express 8.0、IIS Express 10.0 |
標頭 | Httpserv.h |