XmlUrlResolver.GetEntity(Uri, String, Type) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Esegue il mapping di un URI a un oggetto che contiene la risorsa effettiva.
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
Parametri
- absoluteUri
- Uri
URI restituito da ResolveUri(Uri, String).
- role
- String
Attualmente non usato.
- ofObjectToReturn
- Type
Tipo di oggetto da restituire. L'implementazione corrente restituisce soltanto oggetti Stream.
Restituisce
Oggetto flusso o null
se viene specificato un tipo diverso dal flusso.
Eccezioni
ofObjectToReturn
non è né null
né un tipo Stream
.
L'URI specificato non è assoluto.
absoluteUri
è null
.
Errore di runtime, ad esempio un'interruzione della connessione al server.
Esempio
Nell'esempio seguente vengono illustrati i GetEntity
metodi e ResolveUri .
#using <System.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
Uri^ baseUri = gcnew Uri( "http://servername/tmp/test.xsl" );
Uri^ fulluri = resolver->ResolveUri( baseUri, "includefile.xsl" );
// Get a stream object containing the XSL file
Stream^ s = dynamic_cast<Stream^>(resolver->GetEntity( fulluri, nullptr, Stream::typeid ));
// Read the stream object displaying the contents of the XSL file
XmlTextReader^ reader = gcnew XmlTextReader( s );
while ( reader->Read() )
{
Console::WriteLine( reader->ReadOuterXml() );
}
}
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
Commenti
Questo metodo viene usato quando il chiamante desidera eseguire il mapping di un determinato URI a un oggetto contenente la risorsa rappresentata dall'URI.
Per la versione asincrona di questo metodo, vedere GetEntityAsync.
Importante
L'applicazione può attenuare le minacce denial of service alla memoria al GetEntity metodo implementando IStream IStream per limitare il numero di byte letti. Ciò consente di proteggersi dalle situazioni in cui il codice dannoso tenta di passare un flusso infinito di byte al GetEntity metodo .