VirtualPathProvider.GetCacheDependency Method (String, IEnumerable, DateTime)

 

Creates a cache dependency based on the specified virtual paths.

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

Public Overridable Function GetCacheDependency (
	virtualPath As String,
	virtualPathDependencies As IEnumerable,
	utcStart As Date
) As CacheDependency

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 Overrides Function GetCacheDependency(ByVal virtualPath As String, ByVal virtualPathDependencies As IEnumerable, ByVal utcStart As Date) As CacheDependency
  If (IsPathVirtual(virtualPath)) Then

    Dim fullPathDependencies As System.Collections.Specialized.StringCollection
    fullPathDependencies = Nothing

    ' Get the full path to all dependencies.
    For Each virtualDependency As String In virtualPathDependencies
      If fullPathDependencies Is Nothing Then
        fullPathDependencies = New System.Collections.Specialized.StringCollection
      End If

      fullPathDependencies.Add(virtualDependency)
    Next

    If fullPathDependencies Is Nothing Then
      Return Nothing
    End If

    Dim fullPathDependenciesArray As String()
    fullPathDependencies.CopyTo(fullPathDependenciesArray, 0)

    Return New CacheDependency(fullPathDependenciesArray, utcStart)
  Else
    Return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart)
  End If
End Function

.NET Framework
Available since 2.0
Return to top
Show: