VirtualPathProvider.GetCacheDependency(String, IEnumerable, DateTime) Methode

Definition

Erstellt eine Cacheabhängigkeit basierend auf den angegebenen virtuellen Pfaden.

public:
 virtual System::Web::Caching::CacheDependency ^ GetCacheDependency(System::String ^ virtualPath, System::Collections::IEnumerable ^ virtualPathDependencies, DateTime utcStart);
public virtual System.Web.Caching.CacheDependency GetCacheDependency(string virtualPath, System.Collections.IEnumerable virtualPathDependencies, DateTime utcStart);
abstract member GetCacheDependency : string * System.Collections.IEnumerable * DateTime -> System.Web.Caching.CacheDependency
override this.GetCacheDependency : string * System.Collections.IEnumerable * DateTime -> System.Web.Caching.CacheDependency
Public Overridable Function GetCacheDependency (virtualPath As String, virtualPathDependencies As IEnumerable, utcStart As DateTime) As CacheDependency

Parameter

virtualPath
String

Der Pfad zur primären virtuellen Ressource.

virtualPathDependencies
IEnumerable

Ein Array von Pfaden zu anderen Ressourcen, die von der primären virtuellen Ressource benötigt werden.

utcStart
DateTime

Die UTC-Zeit, zu der die virtuellen Ressourcen gelesen wurden.

Gibt zurück

Ein CacheDependency Objekt für die angegebenen virtuellen Ressourcen.

Beispiele

Im folgenden Codebeispiel wird die GetCacheDependency Methode für eine benutzerdefinierte VirtualPathProvider Klasse implementiert. Den vollständigen Code, der zum Ausführen des Beispiels erforderlich ist, finden Sie im Abschnitt "Beispiel" des VirtualPathProvider Themas "Klassenübersicht".

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);
        }
    }
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

Hinweise

Die Standardimplementierung der GetCacheDependency Methode gibt zurück null. Um virtuelle Ressourcen für die spätere Verwendung zwischenzuspeichern, müssen Sie entweder die GetCacheDependency Methode oder die GetFileHash Methode außer Kraft setzen.

Gilt für: