Aracılığıyla paylaş


VirtualPathProvider Sınıf

Tanım

Bir Web uygulamasının bir sanal dosya sisteminden kaynak almasını sağlayan bir dizi yöntem sağlar.

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

Örnekler

Aşağıdaki kod örneği, bir VirtualPathProvider nesnede depolanan bilgileri kullanarak sanal dosya sistemi oluşturan bir DataSet sınıf uygulamasıdır. Kod örneği, bir nesneye yüklenen DataSet bir veri deposundan sanal kaynaklar sağlamak için ve VirtualDirectory sınıfları için VirtualFile kod örnekleriyle çalışır.

Bu örnekte dört bölüm vardır: VirtualPathProvider sınıf uygulaması, nesneyi doldurmak DataSet için kullanılan xml veri dosyası, AppStart sınıfı derleme sistemine kaydetmek VirtualPathProvider için kullanılan bir yöntemi içeren bir AppInitialize nesne ve sanal dosyalara bağlantılar sağlayan bir ASP.NET sayfası.

Bu örnek kodu bir uygulamada kullanmak için aşağıdaki adımları izleyin.

  1. Web sunucunuzda örnek bir uygulama oluşturun.

  2. Özel VirtualPathProvider nesnenin kaynak kodunu (aşağıya bakın) uygulamanın App_Code dizinindeki bir dosyaya kopyalayın.

  3. Özel VirtualDirectory nesnenin kaynak kodunu (sınıfa genel bakış konusunun VirtualDirectory Örnek bölümüne bakın) uygulamanın App_Code dizinindeki bir dosyaya kopyalayın.

  4. Özel VirtualFile nesnenin kaynak kodunu (sınıfa genel bakış konusunun VirtualFile Örnek bölümüne bakın) uygulamanın App_Code dizinindeki bir dosyaya kopyalayın.

  5. Nesnenin AppStart kaynak kodunu (aşağıya bakın) uygulamanın App_Code dizinindeki bir dosyaya kopyalayın.

  6. XML verilerini (aşağıya bakın) adlı XMLData.xml bir dosyaya, uygulamanın App_Data dizinindeki bir dosyaya kopyalayın.

  7. default.aspx Dosyayı (aşağıya bakın) örnek uygulamanın kök dizinine kopyalayın. Dosyayı açmak default.aspx için bir Web tarayıcısı kullanın ve ardından sanal dosyaların içeriğini görmek için sayfadaki bağlantılara tıklayın.

İlk örnek özel VirtualPathProvider bir sınıftır. DirectoryExists İstenen dizinin sanal dosya sisteminde mevcut olup olmadığını belirtmek için ve FileExists yöntemleri geçersiz kılınmış. GetDirectory ve GetFile yöntemleri, sanal dosya sisteminden bilgi içeren özel VirtualDirectory ve VirtualFile örnekleri döndürmek için geçersiz kılınmış.

sınıfı, sanal dosya sistemi verilerini içeren nesneye erişmek DataSet için ve VirtualFile sınıfları tarafından VirtualDirectory kullanılan bir GetVirtualData yöntem de sağlar. Bir üretim uygulamasında bu yöntem genellikle veri deposuyla etkileşim kurmakla sorumlu bir iş nesnesine uygulanır.

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

İkinci örnek, özel VirtualPathProvider nesne tarafından döndürülen nesneyi doldurmak DataSet için kullanılan XML veri dosyasıdır. Bu XML verileri, dış verilerden veri almak için , VirtualDirectoryve VirtualFile nesnelerinin kullanılmasını VirtualPathProvidergöstermek için kullanılır ve üretim kalitesinde bir veri depolarını temsil etmek üzere tasarlanmamıştır.

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

Üçüncü örnek, yöntem içeren bir AppStartAppInitialize nesne sağlar. Bu yöntem, gerekli özel başlatmayı gerçekleştirmek için bir ASP.NET uygulamasının başlatılması sırasında çağrılır. Bu durumda, özel VirtualPathProvider nesneyi ASP.NET derleme sistemine kaydeder.

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

Son örnek, sanal dosya sisteminde bulunan sanal dosyalara bağlantılar içeren bir ASP.NET sayfasıdır.


<%@ 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>

Açıklamalar

sınıfı, VirtualPathProvider bir Web uygulaması için sanal dosya sistemi uygulamak için bir dizi yöntem sağlar. Sanal dosya sisteminde dosyalar ve dizinler, sunucunun işletim sistemi tarafından sağlanan dosya sistemi dışında bir veri deposu tarafından yönetilir. Örneğin, SQL Server veritabanında içerik depolamak için bir sanal dosya sistemi kullanabilirsiniz.

İstek üzerine işlenen herhangi bir dosyayı bir sanal dosya sisteminde depolayabilirsiniz. Buna aşağıdakiler dahildir:

  • sayfaları, ana sayfaları, kullanıcı denetimlerini ve diğer nesneleri ASP.NET.

  • .htm ve .jpg gibi uzantılara sahip standart Web sayfaları.

  • Bir örneğe eşlenen tüm özel uzantılar BuildProvider .

  • Klasördeki App_Theme herhangi bir adlandırılmış tema.

ASP.NET uygulama klasörlerini veya uygulama düzeyinde derlemeler oluşturan dosyaları bir sanal dosya sisteminde depolayamazsınız. Buna aşağıdakiler dahildir:

  • Global.asax dosyası.

  • dosyaları Web.config.

  • tarafından XmlSiteMapProviderkullanılan site haritası veri dosyaları.

  • Uygulama derlemeleri içeren veya uygulama derlemeleri oluşturan dizinler: Bin, App_Code, App_GlobalResources, any App_LocalResources.

  • Uygulama veri klasörü, App_Data.

Not

Bir Web sitesi dağıtım için önceden derlenmişse, bir VirtualPathProvider örnek tarafından sağlanan içerik derlenmez ve önceden derlenmiş site tarafından hiçbir VirtualPathProvider örnek kullanılmaz.

VirtualPathProvider Kaydetme

Web uygulaması tarafından herhangi bir sayfa ayrıştırma veya derleme gerçekleştirilmeden önce yöntemi kullanılarak HostingEnvironment.RegisterVirtualPathProvider özel VirtualPathProvider bir örneğin ASP.NET derleme sistemine kaydedilmesi gerekir.

Genellikle, bir VirtualPathProvider örnek dizinde tanımlanan bir AppInitialize yönteme App_Code veya dosyadaki Application_StartGlobal.asax olay sırasında kaydedilir. Bir yönteme AppInitialize örnek kaydetme VirtualPathProvider örneği için Örnek bölümüne bakın.

Diğer olaylar sırasında bir VirtualPathProvider örneği kaydedebilirsiniz, ancak örnek kaydedilmeden önce VirtualPathProvider derlenen ve önbelleğe alınan sayfalar, yeni VirtualPathProvider örnek artık önceden derlenmiş sayfanın kaynağını sağlasa bile geçersiz kılınmayacak.

Uygulayanlara Notlar

'den VirtualPathProviderdevraldığınızda, aşağıdaki üyeleri geçersiz kılmalısınız:

Özel VirtualPathProvider sınıfınız sanal dosya sistemindeki dizinleri destekliyorsa, aşağıdaki üyeleri geçersiz kılmanız gerekir.

Oluşturucular

VirtualPathProvider()

Sınıfı devralınan bir sınıf örneği tarafından kullanılmak üzere başlatır. Bu oluşturucu yalnızca devralınan bir sınıf tarafından çağrılabilir.

Özellikler

Previous

Derleme sisteminde daha önce kaydedilmiş VirtualPathProvider bir nesneye başvuru alır.

Yöntemler

CombineVirtualPaths(String, String)

Sanal kaynağa tam bir yol döndürmek için temel yolu göreli yolla birleştirir.

CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
DirectoryExists(String)

Sanal dosya sisteminde bir dizinin var olup olmadığını gösteren bir değer alır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FileExists(String)

Sanal dosya sisteminde bir dosyanın var olup olmadığını gösteren bir değer alır.

GetCacheDependency(String, IEnumerable, DateTime)

Belirtilen sanal yolları temel alan bir önbellek bağımlılığı oluşturur.

GetCacheKey(String)

Belirtilen sanal yol için kullanılacak bir önbellek anahtarı döndürür.

GetDirectory(String)

Sanal dosya sisteminden bir sanal dizin alır.

GetFile(String)

Sanal dosya sisteminden bir sanal dosya alır.

GetFileHash(String, IEnumerable)

Belirtilen sanal yolların karması döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
Initialize()

VirtualPathProvider Örneği başlatır.

InitializeLifetimeService()

Kiranın oluşturulmasını VirtualPathProvider engelleyerek nesneye sonsuz bir yaşam süresi verir.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
OpenFile(String)

Sanal dosyadan bir akış döndürür.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır