IHttpCachePolicy::AppendVaryByQueryString 方法

将查询值追加到缓存策略。

语法

virtual HRESULT AppendVaryByQueryString(  
   PCSTR pszParam  
) = 0;  

parameters

pszParam
指向以 null 结尾的字符串的指针,该字符串包含要追加的自定义查询字符串。

\- 或 -

NULL。

返回值

HRESULT。 可能的值包括(但并不限于)下表中的项。

说明
S_OK 指示 pszParam 为 NULL。

\- 或 -

指示 pszParam 追加到查询列表的 。
ERROR_NOT_ENOUGH_MEMORY 指示堆内存已用尽。
E_FAIL 指示操作失败。

备注

注册请求或响应事件的 CHttpModule 派生类接收 IHttpContext 指针作为相应virtual方法的参数。 若要追加自定义查询,请调用 IHttpContext::GetResponse 方法、 IHttpResponse::GetCachePolicy 方法,最后 AppendVaryByQueryString 调用 方法。

AppendVaryByQueryString 行为取决于实现。 应将以下信息用作指南,但并非所有方案都正确:

IHttpCachePolicy 接口的当前默认实现程序声明一个private包含变量标头数据的缓冲区。 在构造实现程序期间,此缓冲区初始化为空。 每次AppendVaryByQueryString调用 时,如果 pszParam 参数为 NULL,AppendVaryByQueryString则立即返回S_OK。 否则,将展开缓冲区以保存 pszParam的副本,包括 null 终止字符,如果缓冲区当前不为空,则加 1。 然后,如果缓冲区不为空,则会将“,”字符追加到缓冲区。 最后,将 的内容 pszParam(包括 null 终止字符)追加到缓冲区。

实现者须知

IHttpCachePolicy 实现者负责将 pszParam 参数复制到缓冲区,因为与 pszParam 关联的数据在调用 AppendVaryByQueryString后不保证有效。

对调用者的说明

IHttpCachePolicy 客户端负责将 NULL pszParam 参数或以 null 结尾的字符串传递给 AppendVaryByHeader 方法。 客户端还负责在调用 AppendVaryByHeader后释放 ,pszParam因为IHttpCachePolicy实现者会复制到pszParam内部缓冲区。

默认 IHttpCachePolicy 实现者使用的内部缓冲区是逗号分隔的自定义标头字符串。 因此, pszParam 不得包含“,”字符。

要求

类型 说明
客户端 - 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
Header Httpserv.h

另请参阅

IHttpCachePolicy 接口