Share via


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:

  1. The client requests content that is stored in a file on both a cache server and the origin server.

  2. The cache server calls IWMSCacheProxy::QueryCache on the first enabled plug-in.

  3. The plug-in determines whether the content is cached. Assume a cache hit.

  4. 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.

  5. 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.

  6. If the plug-in calls CompareContentInformation, the cache server calls the origin server to retrieve content information.

  7. 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.

  8. 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.

  9. The cache server calls IWMSDataContainerVersion::Compare to compare the contents of the two IWMSDataContainerVersion objects.

  10. 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.

See Also

Concepts

Custom Plug-in Interfaces (C++)