IWMSDataContainerVersion Interface
The IWMSDataContainerVersion interface contains methods that enable you to specify and retrieve content information that can be used when checking whether a cached item is current. The following list provides an overview of this process:
The client requests content that is stored in a file on both a cache server and the origin server.
The cache server calls IWMSCacheProxy::QueryCache on the first enabled plug-in.
The plug-in determines whether the content is cached. Assume a cache hit.
The plug-in creates an IWMSDataContainerVersion object, retrieves information about the content on the cache server, and specifies the data members in the IWMSDataContainerVersion object.
The plug-in checks the expiration date on the cached content. If it has not expired, the plug-in can call IWMSCacheProxyCallback::OnQueryCache and direct the server to stream the content. If it has expired, the plug-in calls IWMSCacheProxyServer::CompareContentInformation to determine whether the content is current.
If the plug-in calls CompareContentInformation, the cache server calls the origin server to retrieve content information.
The origin server calls IWMSDataSourcePlugin::GetDataContainerVersion on the appropriate data source plug-in, as determined by the data type associated with the physical URL of the requested content.
The data source plug-in creates an IWMSDataContainerVersion object, retrieves information about the content on the origin server, and specifies the data members in the IWMSDataContainerVersion object. The origin server sends the information, including a pointer to the IWMSDataContainerVersion object, back to the cache server in a cache content information context.
The cache server calls IWMSDataContainerVersion::Compare to compare the contents of the two IWMSDataContainerVersion objects.
The cache server calls IWMSCacheProxyServerCallback::OnCompareContentInformation to indicate whether the content is current.
The IWMSDataContainerVersion interface is implemented by the server.
Note
This interface is available only on Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; and Windows Server 2008.
In addition to the methods inherited from IUnknown, the IWMSDataContainerVersion interface exposes the following methods.
Method |
Description |
---|---|
Compare |
Compares two IWMSDataContainerVersion interfaces to determine whether they are equal. |
GetCacheFlags |
Retrieves flags that indicate whether content can be cached, proxied, or split. |
GetContentSize |
Retrieves the size of the content in bytes. |
GetEntityTag |
Retrieves an entity tag, given an index number. |
GetEntityTagCount |
Retrieves the number of entity tags. |
GetExpirationTime |
Retrieves the content expiration date. |
GetLastModifiedTime |
Retrieves the time at which the content was last modified. |
SetCacheFlags |
Specifies flags that indicate whether content can be cached, proxied, or split. |
SetContentSize |
Specifies the size of the content in bytes. |
SetEntityTag |
Specifies an entity tag. |
SetExpirationTime |
Specifies the content expiration date. |
SetLastModifiedTime |
Specifies the time at which the content was last modified. |