XmlUrlResolver.GetEntity(Uri, String, Type) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Mappe un URI vers un objet contenant la ressource réelle.
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ètres
- absoluteUri
- Uri
URI retourné par ResolveUri(Uri, String).
- role
- String
Pas utilisé pour l’instant.
- ofObjectToReturn
- Type
Type d'objet à retourner. L'implémentation actuelle ne retourne que des objets Stream.
Retours
Objet de flux ou null
si un type autre que stream est spécifié.
Exceptions
ofObjectToReturn
n'est ni null
ni un type Stream
.
L'URI spécifié n'est pas un URI absolu.
absoluteUri
a la valeur null
.
Une erreur d'exécution se produit (par exemple, une interruption de la connexion au serveur).
Exemples
L’exemple suivant illustre les méthodes et ResolveUri les GetEntity
méthodes.
#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
Remarques
Cette méthode est utilisée lorsque l’appelant souhaite mapper un URI donné à un objet qui contient la ressource que l’URI représente.
Pour obtenir la version asynchrone de cette méthode, consultez GetEntityAsync.
Important
Votre application peut atténuer les menaces de déni de service de mémoire à la GetEntity méthode en implémentant IStream IStream pour limiter le nombre d’octets lus. Cela permet de se protéger contre les situations où le code malveillant tente de transmettre un flux infini d’octets à la GetEntity méthode.