XmlUrlResolver.GetEntity(Uri, String, Type) Метод

Определение

Сопоставляет универсальный код ресурса (URI) с объектом, содержащим фактический ресурс.

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

Параметры

absoluteUri
Uri

URI, возвращенный из ResolveUri(Uri, String).

role
String

Сейчас не используется.

ofObjectToReturn
Type

Тип возвращаемого объекта. Текущая реализация возвращает Stream только объекты.

Возвращаемое значение

Объект потока или null тип, отличный от указанного потока.

Исключения

ofObjectToReturn не является ни типом, ни null типом Stream .

Указанный универсальный код ресурса (URI) не является абсолютным универсальным кодом ресурса (URI).

absoluteUri равно null.

Возникает ошибка среды выполнения (например, прерванное подключение к серверу).

Примеры

В следующем примере показаны GetEntity методы и 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

Комментарии

Этот метод используется, когда вызывающий объект хочет сопоставить заданный URI с объектом, содержащим ресурс, который представляет URI.

Сведения об асинхронной версии этого метода см. в разделе GetEntityAsync.

Important

Приложение может устранить угрозы отказа в обслуживании памяти, GetEntity реализуя IStream IStream , чтобы ограничить количество операций чтения байтов. Это помогает защититься от ситуаций, когда вредоносный код пытается передать бесконечный поток байтов методу GetEntity .

Применяется к

См. также раздел