將標頭值附加至快取原則。
語法
virtual HRESULT AppendVaryByHeader(
PCSTR pszHeader
) = 0;
參數
pszHeader
包含要附加之自訂標頭之 Null 終止字串的指標。
-或-
NULL。
傳回值
HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
| 值 | 描述 |
|---|---|
| S_OK | 表示 pszHeader 為 Null。-或- pszHeader表示附加至變數標頭清單。 |
| ERROR_NOT_ENOUGH_MEMORY | 表示堆積記憶體已耗盡。 |
| E_FAIL | 表示作業失敗。 |
備註
註冊要求或回應事件的CHttpModule衍生類別會接收IHttpCoNtext指標作為對應 virtual 方法上的參數。 若要附加自訂標頭,請呼叫 IHttpCoNtext::GetResponse 方法、 IHttpResponse::GetCachePolicy 方法,最後呼叫 AppendVaryByHeader 方法。
AppendVaryByHeader 行為取決於實作。 您應該使用下列資訊作為指導方針,但在所有案例中可能都不正確:
IHttpCachePolicy介面的目前預設實作器會宣告 private 包含變數標頭資料的緩衝區。 在建構實作者期間,此緩衝區會初始化為空白。 每次呼叫 時 AppendVaryByHeader ,如果 pszHeader 參數為 Null, AppendVaryByHeader 就會立即傳回S_OK。 否則,緩衝區會展開以保存 的 pszHeader 複本,包括 null 終止字元,如果緩衝區目前不是空的,則加上 1。 然後,如果緩衝區不是空的,則會將 ',' 字元附加至緩衝區。 最後,的內容 pszHeader 會附加至緩衝區,包括 null 終止字元。
實作者的注意事項
IHttpCachePolicy 實作者負責將參數複製到 pszHeader 緩衝區,因為與 相關聯的 pszHeader 資料不保證在 呼叫 AppendVaryByHeader 之後有效。
來電者的注意事項
IHttpCachePolicy 用戶端負責將 Null 參數或以 Null pszHeader 終止的字串傳遞至 AppendVaryByHeader 方法。 用戶端也會負責在 呼叫 之後處置 pszHeader ,因為 IHttpCachePolicy 實作者會複製到 pszHeader 內部 AppendVaryByHeader 緩衝區。
預設 IHttpCachePolicy 實作者所使用的內部緩衝區是自訂標頭的逗號分隔字串。 因此, pszHeader 不得包含 ',' 字元。
規格需求
| 類型 | 描述 |
|---|---|
| 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 |