Export (0) Print
Expand All

XmlUrlResolver.GetEntity Method

Maps a URI to an object that contains the actual resource.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public override Object GetEntity(
	Uri absoluteUri,
	string role,
	Type ofObjectToReturn
)

Parameters

absoluteUri
Type: System.Uri

The URI returned from ResolveUri.

role
Type: System.String

Currently not used.

ofObjectToReturn
Type: System.Type

The type of object to return. The current implementation only returns Stream objects.

Return Value

Type: System.Object
A stream object or null if a type other than stream is specified.

ExceptionCondition
XmlException

ofObjectToReturn is neither null nor a Stream type.

UriFormatException

The specified URI is not an absolute URI.

ArgumentNullException

absoluteUri is null.

Exception

There is a runtime error (for example, an interrupted server connection).

This method is used when the caller wants to map a given URI to an object that contains the resource that the URI represents.

For the asynchronous version of this method, see GetEntityAsync.

Security noteSecurity Note

Your application can mitigate memory denial of service threats to the GetEntity method by implementing IStreamIStream to limit the number of bytes read. This helps guard against situations where malicious code attempts to pass an infinite stream of bytes to the GetEntity method.

The following example demonstrates the GetEntity and ResolveUri methods.

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());
       } 
   }
}

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft