|
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
|
XmlResolver, classe
Espace de noms : System.Xml
Assembly : System.Xml (dans System.Xml.dll)
Le type XmlResolver expose les membres suivants.
| Nom | Description | |
|---|---|---|
![]() ![]() | Credentials | |
![]() ![]() | NameTable | Obsolète. |
| Nom | Description | |
|---|---|---|
![]() ![]() | Equals(Object) | |
![]() ![]() | Finalize | |
![]() ![]() | GetEntity | |
![]() | GetEntityAsync | |
![]() ![]() | GetHashCode | |
![]() ![]() | GetType | |
![]() ![]() | MemberwiseClone | |
![]() ![]() | ResolveUri | |
![]() | SupportsType | |
![]() ![]() | ToString |
Considérations sur la sécurité
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.
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()); } } }
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.
