XmlUrlResolver.GetEntity(Uri, String, Type) Yöntem

Tanım

URI'yi gerçek kaynağı içeren bir nesneyle eşler.

public:
 override System::Object ^ GetEntity(Uri ^ absoluteUri, System::String ^ role, Type ^ ofObjectToReturn);
public override object? GetEntity(Uri absoluteUri, string? role, Type? ofObjectToReturn);
public override object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn);
override this.GetEntity : Uri * string * Type -> obj
Public Overrides Function GetEntity (absoluteUri As Uri, role As String, ofObjectToReturn As Type) As Object

Parametreler

absoluteUri
Uri

'den ResolveUri(Uri, String)döndürülen URI.

role
String

Şu anda kullanılmıyor.

ofObjectToReturn
Type

Döndürülecek nesnenin türü. Geçerli uygulama yalnızca nesneleri döndürür Stream .

Döndürülenler

Akış nesnesi veya null akış dışında bir tür belirtilmişse.

Özel durumlar

ofObjectToReturntürü de null değildirStream.

Belirtilen URI mutlak bir URI değil.

absoluteUri, null'e eşittir.

Çalışma zamanı hatası (örneğin, kesintiye uğramış bir sunucu bağlantısı) vardır.

Örnekler

Aşağıdaki örnekte ve GetEntity yöntemleri gösterilmektedirResolveUri.

using System;
using System.IO;
using System.Xml;

 public class Sample
 {

   public static void Main()
   {
       XmlUrlResolver resolver = new XmlUrlResolver();

       Uri baseUri = new Uri ("http://servername/tmp/test.xsl");

       Uri fulluri=resolver.ResolveUri(baseUri, "includefile.xsl");

       // Get a stream object containing the XSL file
       Stream s=(Stream)resolver.GetEntity(fulluri, null, typeof(Stream));

       // Read the stream object displaying the contents of the XSL file
       XmlTextReader reader = new XmlTextReader(s);
       while (reader.Read())
       {
          Console.WriteLine(reader.ReadOuterXml());
       }
   }
}
Imports System.IO
Imports System.Xml

Public Class Sample
    
  Public Shared Sub Main()

     Dim resolver As New XmlUrlResolver()
     Dim baseUri As New Uri("http://servername/tmp/test.xsl")
     Dim fulluri As Uri = resolver.ResolveUri(baseUri, "includefile.xsl")
            
     ' Get a stream object containing the XSL file
     Dim s As Stream = CType(resolver.GetEntity(fulluri, Nothing, GetType(Stream)), Stream)
            
     ' Read the stream object displaying the contents of the XSL file
     Dim reader As New XmlTextReader(s)
     While reader.Read()
        Console.WriteLine(reader.ReadOuterXml())
     End While
        
  End Sub
End Class

Açıklamalar

Çağıran belirli bir URI'yi URI'nin temsil ettiği kaynağı içeren bir nesneye eşlemek istediğinde bu yöntem kullanılır.

Bu yöntemin zaman uyumsuz sürümü için bkz GetEntityAsync. .

Important

Uygulamanız, okunan bayt sayısını sınırlamak için GetEntity IStream IStream uygulayarak yönteme yönelik hizmet tehditlerinin bellek reddini azaltabilir. Bu, kötü niyetli kodun GetEntity yöntemine sonsuz sayıda bayt akışı göndermeye çalıştığı durumlara karşı korunmaya yardımcı olur.

Şunlara uygulanır

Ayrıca bkz.