XmlResolver (Clase)
Ensamblado: System.Xml (en system.xml.dll)
XmlResolver se utiliza para resolver recursos XML externos como las entidades, las definiciones de tipo de documento (DTD, Document Type Definitions) o los esquemas. Se utiliza asimismo para procesar los elementos de inclusión e importación detectados en las hojas de estilo XSL (Extensible StyleSheet Language) o los esquemas de Lenguaje de definición de esquemas XML (XSD).
XmlUrlResolver es una implementación concreta de XmlResolver y el objeto Resolver predeterminado para todas las clases del espacio de nombres System.Xml. También puede crear una resolución propia.
Consideraciones de seguridad
Debe tener en cuenta lo siguiente cuando trabaje con la clase XmlResolver.
-
Los objetos XmlResolver pueden contener información confidencial, como las credenciales de los usuarios. Debe tener cuidado al almacenar en memoria caché objetos XmlResolver y no debe pasar el objeto XmlResolver a un componente en el que no confíe.
-
Si está diseñando una propiedad de clase que utiliza la clase XmlResolver, la propiedad debe definirse como una propiedad de sólo escritura. La propiedad puede utilizarse para especificar el XmlResolver que se utilizará, pero no puede utilizarse para devolver un objeto XmlResolver.
-
Si su aplicación acepta objetos XmlResolver de código en el que no se confía, no puede suponer que el URI pasado al método GetEntity será el mismo que el devuelto por el método ResolveUri. Las clases derivadas de la clase XmlResolver pueden reemplazar el método GetEntity y devolver datos distintos de los contenidos en el URI original.
-
Su aplicación puede mitigar las amenazas de memoria de Denegación de servicio en el método GetEntity implementando una interfaz IStream implementada de ajuste que limite el número de bytes leídos. Esto ayuda a protegerse frente a situaciones en las que código malintencionado intenta pasar una secuencia infinita de bytes al método GetEntity.
En el ejemplo siguiente, se crea un objeto XmlReader que utiliza XmlUrlResolver con credenciales predeterminadas.
// Create an XmlUrlResolver with default credentials. XmlUrlResolver resolver = new XmlUrlResolver(); resolver.Credentials = CredentialCache.DefaultCredentials; // Create the reader. XmlReaderSettings settings = new XmlReaderSettings(); settings.XmlResolver = resolver; XmlReader reader = XmlReader.Create("http://serverName/data/books.xml");
Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter
Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.