Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

XmlResolver, classe

Résout les ressources XML externes nommées par un URI (Uniform Resource Identifier).

Espace de noms :  System.Xml
Assembly :  System.Xml (dans System.Xml.dll)
public abstract class XmlResolver

Le type XmlResolver expose les membres suivants.

  NomDescription
Méthode protégéePris en charge par XNA FrameworkXmlResolverInitialise une nouvelle instance de la classe XmlResolver.
Début
  NomDescription
Propriété publiquePris en charge par XNA FrameworkCredentialsEn cas de substitution dans une classe dérivée, définit les informations d'identification utilisées pour authentifier les demandes Web.
Propriété publiquePris en charge par XNA FrameworkNameTable Obsolète. Obsolète
Début
  NomDescription
Méthode publiquePris en charge par XNA FrameworkEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetEntityEn cas de substitution dans une classe dérivée, mappe un URI vers un objet contenant la ressource réelle.
Méthode publiqueGetEntityAsyncMappe de façon asynchrone un URI à un objet contenant la ressource réelle.
Méthode publiquePris en charge par XNA FrameworkGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkResolveUriEn cas de substitution dans une classe dérivée, résout l'URI absolu à partir de l'URI de base et de l'URI relatif.
Méthode publiqueSupportsTypeAjoute la possibilité pour que le programme de résolution retourne d'autres types que Stream.
Méthode publiquePris en charge par XNA FrameworkToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

XmlResolver permet de résoudre les ressources XML externes telles que les entités, les DTD (Document Type Definition) ou les schémas. Il permet également de traiter, d'inclure et d'importer les éléments figurant dans les feuilles de style XSL (Extensible StyleSheet Language) ou les schémas en langage XSD (XML Schema Definition).

XmlUrlResolver est une implémentation concrète de XmlResolver et représente le programme de résolution par défaut de toutes les classes de l'espace de noms System.Xml. Vous pouvez également créer votre propre programme de résolution.

Considérations sur la sécurité

Prenez en compte les éléments suivants lorsque vous utilisez la classe XmlResolver.

  • Les objets XmlResolver peuvent contenir des informations personnelles telles que des informations d'identification de l'utilisateur. Vous devez être prudent lors de la mise en cache d'objets XmlResolver et ne pas passer l'objet XmlResolver à un composant non fiable.

  • Si vous concevez une propriété de classe qui utilise la classe XmlResolver, la propriété doit être définie en écriture seule. La propriété peut être utilisée pour spécifier le XmlResolver à utiliser, mais elle ne peut pas être utilisée pour retourner un objet XmlResolver.

  • Si votre application accepte des objets XmlResolver à partir d'un code non fiable, vous ne pouvez pas supposer que l'URI passé dans la méthode GetEntity sera le même que celui retourné par la méthode ResolveUri. Les classes dérivées de la classe XmlResolver peuvent substituer la méthode GetEntity et retourner des données qui sont différentes de celles contenues dans l'URI d'origine.

  • Votre application peut limiter les attaques par déni de service vis-à-vis de la méthode GetEntity en implémentant un IStream implémenté par habillage qui limite le nombre d'octets lus. Cela permet d'éviter les situations dans lesquelles un code malveillant essaie de passer un flux d'octets infini à la méthode GetEntity.

L'exemple ci-dessous crée un XmlUrlResolver avec les informations d'identification par défaut. Un XmlReader est utilisé pour lire et afficher le flux de données obtenu.


using System;
using System.Xml;
using System.IO;

class Example
{
    static void Main()
    {
        // Create an XmlUrlResolver with default credentials.
        XmlUrlResolver resolver = new XmlUrlResolver();
        resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

        // Point the resolver at the desired resource and resolve as a stream.
        Uri baseUri = new Uri("http://serverName/");
        Uri fulluri = resolver.ResolveUri(baseUri, "fileName.xml");
        Stream s = (Stream)resolver.GetEntity(fulluri, null, typeof(Stream));

        // Create the reader with the resolved stream and display the data.
        XmlReader reader = XmlReader.Create(s);
        while (reader.Read())
        {
            Console.WriteLine(reader.ReadOuterXml());
        }
    }
}


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.