設定快取原則的變數值。
語法
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 |