XmlUrlResolver.GetEntity(Uri, String, Type) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Gerçek kaynağı içeren bir nesneye URI Haritalar.
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
Parametreler
- absoluteUri
- Uri
'den ResolveUri(Uri, String)döndürülen URI.
- role
- String
Şu anda kullanılmıyor.
- ofObjectToReturn
- Type
Döndürülecek nesnenin türü. Geçerli uygulama yalnızca nesneleri döndürür Stream .
Döndürülenler
Akış nesnesi veya null
akış dışında bir tür belirtilmişse.
Özel durumlar
ofObjectToReturn
türü de null
Stream
değildir.
Belirtilen URI mutlak bir URI değil.
absoluteUri
, null
değeridir.
Çalışma zamanı hatası (örneğin, kesintiye uğramış bir sunucu bağlantısı) var.
Örnekler
Aşağıdaki örnekte ve ResolveUri yöntemleri gösterilmektedirGetEntity
.
#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
Açıklamalar
Çağıran belirli bir URI'yi URI'nin temsil ettiğini kaynağı içeren bir nesneyle eşlemek istediğinde bu yöntem kullanılır.
Bu yöntemin zaman uyumsuz sürümü için bkz GetEntityAsync. .
Önemli
Uygulamanız, okunan bayt sayısını sınırlamak için GetEntity IStream IStream uygulayarak yöntemine yönelik hizmet reddi tehditlerini hafifletebilir. Bu, kötü amaçlı kodun yöntemine sonsuz bayt akışı geçirmeye çalıştığı durumlara GetEntity karşı korumaya yardımcı olur.