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
分配给 参数。
下表是一对一接口映射的示例,这些映射必须从 GetCacheKey 和 GetCacheRecord
接口的同一实现程序 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 |