ICacheProvider::SetCacheRecord 方法

在缓存提供程序上设置特定于缓存的数据。

语法

virtual VOID SetCacheRecord(  
   IHttpCacheSpecificData* pCacheRecord  
) = 0;  

parameters

pCacheRecord
指向 IHttpCacheSpecificData 值的指针。

备注

参数 pCacheRecord 不得为 NULL,因为以后对 GetCacheRecord 方法的内部调用可能会导致访问冲突。

重要

方法 SetCacheRecord 是 IIS 基础结构的一部分,不应直接从代码使用。

实现者须知

ICacheProvider 实现者将指针声明 private``IHttpCacheSpecificData 为成员数据。 调用这些实现器的构造函数时,会将此成员数据分配给指针 IHttpCacheSpecificData 。 在调用 SetCacheRecord之前,调用方负责首先对IHttpCacheSpecificData指针调用 IHttpCacheSpecificData::ReferenceCacheData;SetCacheRecord然后,实现者将private变量分配给此IHttpCacheSpecificData指针。

调用 时SetCacheRecord,实现者应首先检查当前private成员指针是否为非 NULL。 private如果数据非 NULL,请首先对此当前数据调用 IHttpCacheSpecificData::D ereferenceCacheData,以便可以释放它,但始终将private变量pCacheRecord分配给 参数。

下表是一对一接口映射的示例,这些映射必须从 GetCacheKeyGetCacheRecord 接口的同一实现程序 ICacheProvider 返回的方法。

GetCacheKey 接口 GetCacheRecord 接口
IFileKey IHttpFileInfo
IHttpTokenKey IHttpTokenEntry
IHttpCacheKey IHttpCacheSpecificData

对调用者的说明

ICacheProvider 实现者获取指针的 IHttpCacheSpecificData 所有权。 在调用 SetCacheRecord之前,首先对指针调用 IHttpCacheSpecificData::ReferenceCacheData ,以便此指针具有一个所有者。

要求

类型 说明
客户端 - 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

另请参阅

ICacheProvider 接口