XmlUrlResolver.GetEntity(Uri, String, Type) Metódus

Definíció

URI-t képez le egy olyan objektumra, amely a tényleges erőforrást tartalmazza.

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

Paraméterek

absoluteUri
Uri

A visszaadott URI a következőből: ResolveUri(Uri, String).

role
String

Jelenleg nem használatos.

ofObjectToReturn
Type

A visszaadandó objektum típusa. Az aktuális implementáció csak objektumokat ad Stream vissza.

Válaszok

Streamobjektum, vagy null ha a streamen kívüli típus van megadva.

Kivételek

ofObjectToReturn sem típus, sem nullStream típus.

A megadott URI nem abszolút URI.

absoluteUri az null.

Futásidejű hiba (például megszakadt kiszolgálókapcsolat).

Példák

Az alábbi példa a módszereket és GetEntity a ResolveUri módszereket mutatja be.

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

Megjegyzések

Ez a módszer akkor használatos, ha a hívó egy adott URI-t egy olyan objektumhoz szeretne hozzárendelni, amely az URI által képviselt erőforrást tartalmazza.

A metódus aszinkron verziójáról lásd GetEntityAsync: .

Important

Az alkalmazás az IStream GetEntity implementálásával mérsékelheti a szolgáltatásmegtagadással kapcsolatos, a IStream metódust fenyegető memóriamegtagadásokat az olvasási bájtok számának korlátozására. Ez segít elhárítani azokat a helyzeteket, amikor a rosszindulatú kód végtelen bájtfolyamot próbál átadni a GetEntity metódusnak.

A következőre érvényes:

Lásd még