Export (0) Print
Expand All

VirtualPathProvider.GetCacheDependency Method

Creates a cache dependency based on the specified virtual paths.

Namespace:  System.Web.Hosting
Assembly:  System.Web (in System.Web.dll)

public virtual CacheDependency GetCacheDependency(
	string virtualPath,
	IEnumerable virtualPathDependencies,
	DateTime utcStart
)

Parameters

virtualPath
Type: System.String

The path to the primary virtual resource.

virtualPathDependencies
Type: System.Collections.IEnumerable

An array of paths to other resources required by the primary virtual resource.

utcStart
Type: System.DateTime

The UTC time at which the virtual resources were read.

Return Value

Type: System.Web.Caching.CacheDependency
A CacheDependency object for the specified virtual resources.

The default implementation of the GetCacheDependency method returns null. To cache virtual resources for later use you must override either the GetCacheDependency method or the GetFileHash method.

The following code example implements the GetCacheDependency method for a custom VirtualPathProvider class. For the full code required to run the example, see the Example section of the VirtualPathProvider class overview topic.

public override CacheDependency GetCacheDependency(
  string virtualPath, 
  System.Collections.IEnumerable virtualPathDependencies, 
  DateTime utcStart)
{
  if (IsPathVirtual(virtualPath))
  {
    System.Collections.Specialized.StringCollection fullPathDependencies = null;

    // Get the full path to all dependencies. 
    foreach (string virtualDependency in virtualPathDependencies)
    {
      if (fullPathDependencies == null)
        fullPathDependencies = new System.Collections.Specialized.StringCollection();

      fullPathDependencies.Add(virtualDependency);
    }
    if (fullPathDependencies == null)
      return null;

    // Copy the list of full-path dependencies into an array. 
    string[] fullPathDependenciesArray = new string[fullPathDependencies.Count];
    fullPathDependencies.CopyTo(fullPathDependenciesArray, 0);
    // Copy the virtual path into an array. 
    string[] virtualPathArray = new string[1];
    virtualPathArray[0] = virtualPath;

    return new CacheDependency(virtualPathArray, fullPathDependenciesArray, utcStart);
  }
  else 
    return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart);
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft