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

ResolveUri(Uri, String) から返された URI。

role
String

現在は使用されていません。

ofObjectToReturn
Type

返すオブジェクトの型。 現在の実装では、Stream オブジェクトだけを返します。

戻り値

Object

ストリーム オブジェクト。ストリーム以外の型が指定された場合は null

例外

ofObjectToReturnnull でも Stream 型でもありません。

指定した URI が絶対 URI ではありません。

absoluteUrinullです。

実行時エラー (サーバー接続の中断など) があります。

次の例では、およびResolveUriメソッドをGetEntity示します。

#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

注釈

このメソッドは、呼び出し元が特定の URI を、URI が表すリソースを含むオブジェクトにマップする場合に使用されます。

このメソッドの非同期バージョンについては、次を参照してください GetEntityAsync

重要

IStream IStream を実装して読み取られたバイト数を制限することで、アプリケーションはメソッドに対GetEntityするサービス拒否の脅威を軽減できます。 これにより、悪意のあるコードが無限のバイト ストリームをメソッドに渡そうとする状況を GetEntity 防ぐことができます。

適用対象

こちらもご覧ください