XmlUrlResolver.GetEntity(Uri, String, Type) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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.