XmlUrlResolver.GetEntity(Uri, String, Type) Metod

Definition

Mappar en URI till ett objekt som innehåller den faktiska resursen.

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

Parametrar

absoluteUri
Uri

URI:n som returnerades från ResolveUri(Uri, String).

role
String

Används för närvarande inte.

ofObjectToReturn
Type

Vilken typ av objekt som ska returneras. Den aktuella implementeringen returnerar Stream endast objekt.

Returer

Ett strömobjekt eller null om en annan typ än dataström har angetts.

Undantag

ofObjectToReturn null varken är eller en Stream typ.

Den angivna URI:n är inte en absolut URI.

absoluteUri är null.

Det finns ett körningsfel (till exempel en avbruten serveranslutning).

Exempel

I följande exempel visas GetEntity metoderna och ResolveUri .

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

Kommentarer

Den här metoden används när anroparen vill mappa en viss URI till ett objekt som innehåller resursen som URI:n representerar.

Den asynkrona versionen av den här metoden finns i GetEntityAsync.

Important

Ditt program kan minimera minnesbelastningshot mot GetEntity metoden genom att implementera IStream IStream för att begränsa antalet lästa byte. Detta skyddar mot situationer där skadlig kod försöker skicka en oändlig ström med byte till GetEntity metoden.

Gäller för

Se även