VirtualPathProvider Klasse

Definition

Stellt eine Reihe von Methoden bereit, mit denen eine Webanwendung Ressourcen aus einem virtuellen Dateisystem abrufen kann.

public ref class VirtualPathProvider abstract : MarshalByRefObject
public abstract class VirtualPathProvider : MarshalByRefObject
type VirtualPathProvider = class
    inherit MarshalByRefObject
Public MustInherit Class VirtualPathProvider
Inherits MarshalByRefObject
Vererbung
VirtualPathProvider

Beispiele

Das folgende Codebeispiel ist eine Klassenimplementierung, die ein VirtualPathProvider virtuelles Dateisystem mithilfe von Informationen erstellt, die in einem DataSet Objekt gespeichert sind. Das Codebeispiel funktioniert mit den Codebeispielen für die VirtualFile und VirtualDirectory Klassen, um virtuelle Ressourcen aus einem Datenspeicher bereitzustellen, der in ein DataSet Objekt geladen wird.

Dieses Beispiel besteht aus vier Teilen: der VirtualPathProvider Klassenimplementierung, einer XML-Datendatei, die zum Auffüllen des DataSet-Objekts, eines AppStart-Objekts verwendet wird, das eine AppInitialize-Methode enthält, die zum Registrieren der VirtualPathProvider-Klasse mit dem Kompilierungssystem verwendet wird, und eine ASP.NET Seite, die Links zu den virtuellen Dateien bereitstellt.

Führen Sie die folgenden Schritte aus, um diesen Beispielcode in einer Anwendung zu verwenden.

  1. Erstellen Sie eine Beispielanwendung auf Ihrem Webserver.

  2. Kopieren Sie den Quellcode für das benutzerdefinierte VirtualPathProvider Objekt (siehe unten) in eine Datei im Verzeichnis der Anwendung App_Code .

  3. Kopieren Sie den Quellcode für das benutzerdefinierte VirtualDirectory Objekt (siehe Beispielabschnitt im VirtualDirectory Klassenübersichtsthema) in eine Datei im Verzeichnis der Anwendung App_Code .

  4. Kopieren Sie den Quellcode für das benutzerdefinierte VirtualFile Objekt (siehe Beispielabschnitt im VirtualFile Klassenübersichtsthema) in eine Datei im Verzeichnis der Anwendung App_Code .

  5. Kopieren Sie den Quellcode für das AppStart Objekt (siehe unten) in eine Datei im Verzeichnis der Anwendung App_Code .

  6. Kopieren Sie die XML-Daten (siehe unten) in eine Datei, die in eine Datei im Verzeichnis der Anwendung App_Data benannt XMLData.xml ist.

  7. Kopieren Sie die default.aspx Datei (siehe unten) in das Stammverzeichnis der Beispielanwendung. Verwenden Sie einen Webbrowser, um die default.aspx Datei zu öffnen, und klicken Sie dann auf die Links auf der Seite, um den Inhalt der virtuellen Dateien anzuzeigen.

Das erste Beispiel ist eine benutzerdefinierte VirtualPathProvider Klasse. Die DirectoryExists Methoden FileExists werden überschrieben, um anzugeben, ob ein angefordertes Verzeichnis im virtuellen Dateisystem vorhanden ist. Die GetDirectory Methoden GetFile werden überschrieben, um benutzerdefinierte VirtualDirectory Instanzen VirtualFile zurückzugeben, die Informationen aus dem virtuellen Dateisystem enthalten.

Die Klasse stellt außerdem eine GetVirtualData Methode bereit, die von den VirtualDirectory Klassen verwendet VirtualFile wird, um auf das Objekt zuzugreifen, das DataSet die daten des virtuellen Dateisystems enthält. In einer Produktionsimplementierung würde diese Methode in der Regel in einem Geschäftsobjekt implementiert, das für die Interaktion mit dem Datenspeicher verantwortlich ist.

using System;
using System.Data;
using System.Security.Permissions;
using System.Web;
using System.Web.Caching;
using System.Web.Hosting;

namespace Samples.AspNet.CS
{
  [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Medium)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.High)]
  public class SamplePathProvider : VirtualPathProvider
  {
    private string dataFile;

    public SamplePathProvider()
      : base()
    {
    }

    protected override void Initialize()
    {
      // Set the datafile path relative to the application's path.
      dataFile = HostingEnvironment.ApplicationPhysicalPath + "App_Data\\XMLData.xml";
    }

    /// <summary>
    ///   Data set provider for the SampleVirtualDirectory and
    ///   SampleVirtualFile classes. In a production application
    ///   this method would be on a provider class that accesses
    ///   the virtual resource data source.
    /// </summary>
    /// <returns>
    ///   The System.Data.DataSet containing the virtual resources 
    ///   provided by the SamplePathProvider.
    /// </returns>
    public DataSet GetVirtualData()
    {
      // Get the data from the cache.
      DataSet ds = (DataSet)HostingEnvironment.Cache.Get("VPPData");
      if (ds == null)
      {
        // Data not in cache. Read XML file.
        ds = new DataSet();
        ds.ReadXml(dataFile);

        // Make DataSet dependent on XML file.
        CacheDependency cd = new CacheDependency(dataFile);

        // Put DataSet into cache for maximum of 20 minutes.
        HostingEnvironment.Cache.Add("VPPData", ds, cd,
          Cache.NoAbsoluteExpiration,
          new TimeSpan(0, 20, 0),
          CacheItemPriority.Default, null);

        // Set data timestamp.
        DateTime dataTimeStamp = DateTime.Now;
        // Cache it so we can get the timestamp in later calls.
        HostingEnvironment.Cache.Insert("dataTimeStamp", dataTimeStamp, null,
          Cache.NoAbsoluteExpiration,
          new TimeSpan(0, 20, 0),
          CacheItemPriority.Default, null);
      }
      return ds;
    }

    /// <summary>
    ///   Determines whether a specified virtual path is within
    ///   the virtual file system.
    /// </summary>
    /// <param name="virtualPath">An absolute virtual path.</param>
    /// <returns>
    ///   true if the virtual path is within the 
    ///   virtual file sytem; otherwise, false.
    /// </returns>
    private bool IsPathVirtual(string virtualPath)
    {
      String checkPath = VirtualPathUtility.ToAppRelative(virtualPath);
      return checkPath.StartsWith("~/vrdir", StringComparison.InvariantCultureIgnoreCase);
    }

    public override bool FileExists(string virtualPath)
    {
      if (IsPathVirtual(virtualPath))
      {
        SampleVirtualFile file = (SampleVirtualFile)GetFile(virtualPath);
        return file.Exists;
      }
      else
            {
                return Previous.FileExists(virtualPath);
            }
        }

    public override bool DirectoryExists(string virtualDir)
    {
      if (IsPathVirtual(virtualDir))
      {
        SampleVirtualDirectory dir = (SampleVirtualDirectory)GetDirectory(virtualDir);
        return dir.Exists;
      }
      else
            {
                return Previous.DirectoryExists(virtualDir);
            }
        }

    public override VirtualFile GetFile(string virtualPath)
    {
      if (IsPathVirtual(virtualPath))
        return new SampleVirtualFile(virtualPath, this);
      else
        return Previous.GetFile(virtualPath);
    }

    public override VirtualDirectory GetDirectory(string virtualDir)
    {
      if (IsPathVirtual(virtualDir))
        return new SampleVirtualDirectory(virtualDir, this);
      else
        return Previous.GetDirectory(virtualDir);
    }

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

Imports System.Data
Imports System.Security.Permissions
Imports System.Web
Imports System.Web.Caching
Imports System.Web.Hosting


Namespace Samples.AspNet.VB
  <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Medium), _
   AspNetHostingPermission(SecurityAction.InheritanceDemand, level:=AspNetHostingPermissionLevel.High)> _
  Public Class SamplePathProvider
    Inherits VirtualPathProvider

    Private dataFile As String

    Public Sub New()
      MyBase.New()
    End Sub

    Protected Overrides Sub Initialize()
      ' Set the datafile path relative to the application's path.
      dataFile = HostingEnvironment.ApplicationPhysicalPath & _
        "App_Data\XMLData.xml"
    End Sub

    '   Data set provider for the SampleVirtualFile and
    '   SampleVirtualDirectory classes. In a production application
    '   this method would be on a provider class that accesses
    '   the virtual resource data source.
    '   The System.Data.DataSet containing the virtual resources
    '   provided by the SamplePathProvider.
    Public Function GetVirtualData() As DataSet
      ' Get the data from the cache.
      Dim ds As DataSet
      ds = CType(HostingEnvironment.Cache.Get("VPPData"), DataSet)

      If ds Is Nothing Then
        ' Data set not in cache. Read XML file.
        ds = New DataSet
        ds.ReadXml(dataFile)

        ' Make DataSet dependent on XML file.
        Dim cd As CacheDependency
        cd = New CacheDependency(dataFile)

        ' Put DataSet into cache for maximum of 20 minutes.
        HostingEnvironment.Cache.Add("VPPData", ds, cd, _
         Cache.NoAbsoluteExpiration, _
         New TimeSpan(0, 20, 0), _
         CacheItemPriority.Default, Nothing)

        ' Set data timestamp.
        Dim dataTimeStamp As DateTime
        dataTimeStamp = DateTime.Now
        ' Cache it so we can get the timestamp in later calls.
        HostingEnvironment.Cache.Add("dataTimeStamp", dataTimeStamp, Nothing, _
          Cache.NoAbsoluteExpiration, _
          New TimeSpan(0, 20, 0), _
          CacheItemPriority.Default, Nothing)
      End If
      Return ds
    End Function

    Private Function IsPathVirtual(ByVal virtualPath As String) As Boolean
      Dim checkPath As String
      checkPath = VirtualPathUtility.ToAppRelative(virtualPath)
      Return checkPath.StartsWith("~/vrdir", StringComparison.InvariantCultureIgnoreCase)
    End Function

    Public Overrides Function FileExists(ByVal virtualPath As String) As Boolean
      If (IsPathVirtual(virtualPath)) Then
        Dim file As SampleVirtualFile
        file = CType(GetFile(virtualPath), SampleVirtualFile)
        Return file.Exists
      Else
        Return Previous.FileExists(virtualPath)
      End If
    End Function

    Public Overrides Function DirectoryExists(ByVal virtualDir As String) As Boolean
      If (IsPathVirtual(virtualDir)) Then
        Dim dir As SampleVirtualDirectory
        dir = CType(GetDirectory(virtualDir), SampleVirtualDirectory)
        Return dir.exists
      Else
        Return Previous.DirectoryExists(virtualDir)
      End If
    End Function

    Public Overrides Function GetFile(ByVal virtualPath As String) As VirtualFile
      If (IsPathVirtual(virtualPath)) Then
        Return New SampleVirtualFile(virtualPath, Me)
      Else
        Return Previous.GetFile(virtualPath)
      End If
    End Function

    Public Overrides Function GetDirectory(ByVal virtualDir As String) As VirtualDirectory
      If (IsPathVirtual(virtualDir)) Then
        Return New SampleVirtualDirectory(virtualDir, Me)
      Else
        Return Previous.GetDirectory(virtualDir)
      End If
    End Function

    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
  End Class
End Namespace

Das zweite Beispiel ist die XML-Datendatei, die verwendet wird, um das DataSet vom benutzerdefinierten VirtualPathProvider Objekt zurückgegebene Objekt aufzufüllen. Diese XML-Daten werden verwendet, um die Verwendung von VirtualPathProviderDaten VirtualDirectoryund VirtualFile Objekten zum Abrufen von Daten aus externen Daten zu veranschaulichen und ist nicht für die Darstellung eines Datenspeichers in Produktionsqualität vorgesehen.

<?xml version="1.0" encoding="utf-8" ?>
  <resource type="dir"
    path="/vrDir"
    parentPath=""
    content="">
    <resource type="file"
      path="/vrDir/Level1FileA.vrf"
      parentPath="/vrDir"
      content="This is the content of file Level1FileA.">
    </resource>
    <resource type="file"
      path="/vrDir/Level1FileB.vrf"
      parentPath="/vrDir"
      content="This is the content of file Level1FileB.">
    </resource>
    <resource type="dir"
      path="/vrDir/Level2DirA"
      parentPath="/vrDir"
      content="">
    <resource type="file"
      path="/vrDir/Level2DirA/Level2FileA.vrf"
      parentPath="/vrDir/Level2DirA"
      content="This is the content of file Level2FileA.">
    </resource>
    <resource type="file"
      path="/vrDir/Level2DirA/Level2FileB.vrf"
      parentPath="/vrDir/Level2DirA"
      content="This is the content of file Level2FileB.">
    </resource>
  </resource>
  <resource type="dir"
    path="/vrDir/Level2DirB"
    parentPath="/vrDir"
    content="">
    <resource type="file"
      path="/vrDir/Level2DirB/Level2FileA.vrf"
      parentPath="/vrDir/Level2DirB"
      content="This is the content of file Level2FileA.">
    </resource>
    <resource type="file"
      path="/vrDir/Level2DirB/Level2FileB.vrf"
      parentPath="/vrDir/Level2DirB"
      content="This is the content of file Level2FileB.">
    </resource>
  </resource>
</resource>

Das dritte Beispiel stellt ein AppStart Objekt bereit, das eine AppInitialize Methode enthält. Diese Methode wird während der Initialisierung einer ASP.NET Anwendung aufgerufen, um alle erforderlichen benutzerdefinierten Initialisierungen auszuführen. In diesem Fall registriert es das benutzerdefinierte VirtualPathProvider-Objekt mit dem ASP.NET Buildsystem.

using System.Web.Hosting;

namespace Samples.AspNet.CS
{
  /// <summary>
  ///   Contains the application initialization method
  ///   for the sample application.
  /// </summary>
  public static class AppStart
  {
    public static void AppInitialize()
    {
      SamplePathProvider sampleProvider = new SamplePathProvider();
      HostingEnvironment.RegisterVirtualPathProvider(sampleProvider);
    } 
  }
}

Imports System.Web.Hosting

Namespace Samples.AspNet.VB

  Public Class AppStart

    Public Shared Sub AppInitialize()
      Dim sampleProvider As SamplePathProvider = New SamplePathProvider()
      HostingEnvironment.RegisterVirtualPathProvider(sampleProvider)
    End Sub

  End Class
End Namespace

Das letzte Beispiel ist eine ASP.NET Seite, die Links zu den virtuellen Dateien enthält, die im virtuellen Dateisystem enthalten sind.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html" />
  <title>Virtual Path Provider Example</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:HyperLink ID="hyperLink1" runat="server" NavigateUrl="vrDir/Level1FileA.vrf" Text="Level 1, File A" /><br />
    <asp:HyperLink ID="hyperLink2" runat="server" NavigateUrl="vrDir/Level1FileB.vrf" Text="Level 1, File B" /><br />
    <asp:HyperLink ID="hyperLink3" runat="server" NavigateUrl="vrDir/Level2DirA/Level2FileA.vrf" Text="Level 2a, File A" /><br />
    <asp:HyperLink ID="hyperLink4" runat="server" NavigateUrl="vrDir/Level2DirA/Level2FileB.vrf" Text="Level 2a, File B" /><br />
    <asp:HyperLink ID="hyperLink5" runat="server" NavigateUrl="vrDir/Level2DirB/Level2FileA.vrf" Text="Level 2b, File A" /><br />
    <asp:HyperLink ID="hyperLink6" runat="server" NavigateUrl="vrDir/Level2DirB/Level2FileB.vrf" Text="Level 2b, File B" /><br />
  </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html" />
  <title>Virtual Path Provider Example</title>
</head>
<body>
  <form id="form1" runat="server">
    <asp:HyperLink ID="hyperLink1" runat="server" NavigateUrl="vrDir/Level1FileA.vrf" Text="Level 1, File A" /><br />
    <asp:HyperLink ID="hyperLink2" runat="server" NavigateUrl="vrDir/Level1FileB.vrf" Text="Level 1, File B" /><br />
    <asp:HyperLink ID="hyperLink3" runat="server" NavigateUrl="vrDir/Level2DirA/Level2FileA.vrf" Text="Level 2a, File A" /><br />
    <asp:HyperLink ID="hyperLink4" runat="server" NavigateUrl="vrDir/Level2DirA/Level2FileB.vrf" Text="Level 2a, File B" /><br />
    <asp:HyperLink ID="hyperLink5" runat="server" NavigateUrl="vrDir/Level2DirB/Level2FileA.vrf" Text="Level 2b, File A" /><br />
    <asp:HyperLink ID="hyperLink6" runat="server" NavigateUrl="vrDir/Level2DirB/Level2FileB.vrf" Text="Level 2b, File B" /><br />
  </form>
</body>
</html>

Hinweise

Die VirtualPathProvider Klasse stellt eine Reihe von Methoden zum Implementieren eines virtuellen Dateisystems für eine Webanwendung bereit. In einem virtuellen Dateisystem werden die Dateien und Verzeichnisse von einem anderen Datenspeicher als dem dateisystem verwaltet, das vom Betriebssystem des Servers bereitgestellt wird. Sie können z. B. ein virtuelles Dateisystem verwenden, um Inhalte in einer SQL Server Datenbank zu speichern.

Sie können jede Datei, die auf Anfrage verarbeitet wird, in einem virtuellen Dateisystem speichern. Dazu gehören:

  • ASP.NET Seiten, Gestaltungsvorlagen, Benutzersteuerelemente und andere Objekte.

  • Standardwebseiten mit Erweiterungen wie .htm und .jpg.

  • Jede benutzerdefinierte Erweiterung, die einer BuildProvider Instanz zugeordnet ist.

  • Jedes benannte Design im App_Theme Ordner.

Sie können keine ASP.NET Anwendungsordner oder Dateien speichern, die Assemblys auf Anwendungsebene in einem virtuellen Dateisystem generieren. Dazu gehören:

  • Die Datei "Global.asax".

  • Web.config Dateien.

  • Von der XmlSiteMapProviderWebsitezuordnung verwendete Datendateien .

  • Verzeichnisse, die Anwendungsassemblys enthalten oder Anwendungsassemblys generieren: Bin, App_Code, App_GlobalResourcesalle App_LocalResources.

  • Der Anwendungsdatenordner, App_Data.

Note

Wenn eine Website für die Bereitstellung vorkompiliert ist, werden inhalte, die von einer VirtualPathProvider Instanz bereitgestellt werden, nicht kompiliert, und es werden keine VirtualPathProvider Instanzen von der vorkompilierten Website verwendet.

Registrieren eines VirtualPathProvider

Eine benutzerdefinierte VirtualPathProvider-Instanz sollte mit der ASP.NET Kompilierungssystem mithilfe der HostingEnvironment.RegisterVirtualPathProvider-Methode registriert werden, bevor die Seitenanalyse oder Kompilierung von der Webanwendung ausgeführt wird.

In der Regel wird eine VirtualPathProvider Instanz in einer AppInitialize im Verzeichnis definierten Methode oder während des Ereignisses Application_Start in der Global.asax Datei registriert.App_Code Ein Beispiel zum Registrieren einer VirtualPathProvider Instanz in einer AppInitialize Methode finden Sie im Abschnitt "Beispiel".

Sie können eine VirtualPathProvider Instanz während anderer Ereignisse registrieren, aber Seiten, die kompiliert und zwischengespeichert wurden, bevor die VirtualPathProvider Instanz registriert wird, werden nicht ungültig, auch wenn die neue VirtualPathProvider Instanz jetzt die Quelle für die zuvor kompilierte Seite bereitstellt.

Hinweise für Ausführende

Wenn Sie von VirtualPathProvidererben, müssen Sie die folgenden Member überschreiben:

Wenn Ihre benutzerdefinierte VirtualPathProvider Klasse Verzeichnisse im virtuellen Dateisystem unterstützt, müssen Sie die folgenden Member überschreiben.

  • DirectoryExists(String)

  • GetDirectory(String)

    Note: If your virtual file system will contain themes for the Web site (by creating a virtual <code data-dev-comment-type="c">App_Themes</code> directory), your custom <xref data-throw-if-not-resolved="true" uid="System.Web.Hosting.VirtualPathProvider"></xref> class must support directories.
    

    Eine benutzerdefinierte VirtualPathProvider Klasse funktioniert mit Klassen, die von den VirtualFile Klassen abgeleitet sind VirtualDirectory . Sie sollten abgeleitete Klassen von diesen Typen implementieren, um Datei- und Verzeichnisinformationen aus Ihrem virtuellen Dateisystem bereitzustellen. Ein Beispiel für eine benutzerdefinierte VirtualFile Implementierung finden Sie im Abschnitt "Beispiel" des VirtualFile Themas "Klassenübersicht". Ein Beispiel für eine benutzerdefinierte VirtualDirectory Implementierung finden Sie im Abschnitt "Beispiel" des VirtualDirectory Themas "Klassenübersicht".

Konstruktoren

Name Beschreibung
VirtualPathProvider()

Initialisiert die Klasse für die Verwendung durch eine geerbte Klasseninstanz. Dieser Konstruktor kann nur von einer geerbten Klasse aufgerufen werden.

Eigenschaften

Name Beschreibung
Previous

Ruft einen Verweis auf ein zuvor registriertes VirtualPathProvider Objekt im Kompilierungssystem ab.

Methoden

Name Beschreibung
CombineVirtualPaths(String, String)

Kombiniert einen Basispfad mit einem relativen Pfad, um einen vollständigen Pfad zu einer virtuellen Ressource zurückzugeben.

CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
DirectoryExists(String)

Ruft einen Wert ab, der angibt, ob ein Verzeichnis im virtuellen Dateisystem vorhanden ist.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
FileExists(String)

Ruft einen Wert ab, der angibt, ob eine Datei im virtuellen Dateisystem vorhanden ist.

GetCacheDependency(String, IEnumerable, DateTime)

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

GetCacheKey(String)

Gibt einen Cacheschlüssel zurück, der für den angegebenen virtuellen Pfad verwendet werden soll.

GetDirectory(String)

Ruft ein virtuelles Verzeichnis aus dem virtuellen Dateisystem ab.

GetFile(String)

Ruft eine virtuelle Datei aus dem virtuellen Dateisystem ab.

GetFileHash(String, IEnumerable)

Gibt einen Hash der angegebenen virtuellen Pfade zurück.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
Initialize()

Initialisiert die VirtualPathProvider Instanz.

InitializeLifetimeService()

Gibt dem VirtualPathProvider Objekt eine unendliche Lebensdauer, indem verhindert wird, dass eine Lease erstellt wird.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts.

(Geerbt von MarshalByRefObject)
OpenFile(String)

Gibt einen Datenstrom aus einer virtuellen Datei zurück.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: