La création d'un XPathDocument avec une DTD référencée génère parfois une exception Web. Pourquoi?Pourquoi une exception Web est-elle générée lors de la création d'un document XPathDocument?
Répondre
Voir http://todotnet.com/archive/2006/07/27/8248.aspx
Parce que dans la construction de XPathDocument, il y a une http GET commande pour voir si elle peut accéder à la DTD . Il ne fait rien avec le DTD. C'est pour juste au cas où. Ainsi, alors que XPathDocument est initialement configuré pour être une alternative plus rapide à XmlDocument, vous aurez le surcharge supplémentaire d'une requête http qui doit être résolue. Imaginez ce serveur étant de l'autre côté de le globe!
Vous pouvez écrire un XmlUrlResolver personnalisé, puis ignorer la DTD distante . Aussi, je crois que vous pouvez définir l'utilisation de XmlResolver = null sur XmlTextReader.
pour les personnes intéressées que j'ai trouvé une solution de contournement pour désactiver la vérification dtd
XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = null;
settings.ProhibitDtd = false;
var xmlReader = XmlTextReader.Create(new StringReader(xmlString),settings);
XPathDocument xpathDoc = new XPathDocument(xmlReader);
- 1. Http Exception générée lors de la validation ViewState
- 2. Une exception non gérée a été générée
- 3. Exception de service Web pourquoi?
- 4. Quelle exception doit être générée lors de la validation des résultats des rappels externes dans .NET?
- 5. Pourquoi le formateur WCF lève une exception?
- 6. Pourquoi voyons-nous une exception ModuleLoadExceptionHandlerException lors du test unitaire
- 7. Pourquoi la requête générée est-elle différente?
- 8. Pourquoi une erreur de connexion ADO est-elle générée lors de l'utilisation de l'ASP classique?
- 9. Pourquoi ne pas utiliser une poignée lors de la création ou de la diffusion de composants?
- 10. Créer XPathDocument à partir de XmlElement
- 11. Exception lors de la destruction TReader
- 12. Problème lors de la création de l'assemblage
- 13. Considérations lors de la création d'une application Java dans une applet Web
- 14. Pourquoi une exception est-elle levée depuis Spring.NET lors de l'appel de ContextRegistry.GetContext()?
- 15. Incorporation d'une table générée par XSLT dans une page Web
- 16. Pourquoi OdbcCommand.ExecuteScalar() lève une exception AccessViolationException?
- 17. Pourquoi EventInfo.RemoveEventHandler lève une exception NullReferenceException?
- 18. Pourquoi une exception XmlException "Fin de fichier inattendue" avec TextMessageEncodingBindingElement?
- 19. Pourquoi google bot obtient-il une exception NullReferenceException lors de l'exploration de mon site?
- 20. Que fait l'étape «Validation du site Web» lors de la création d'un site Web ASP.Net?
- 21. Création et enregistrement de document Word sur le serveur
- 22. Une applet Java signée déclenche une exception de sécurité lors de la connexion à un service Web
- 23. Exception lors de l'utilisation strncpy
- 24. Quelle exception doit être générée à partir de l'ensemble de la propriété?
- 25. exception Boost lors de l'exécution
- 26. Exception lors de la mise à jour de l'index Lucene
- 27. Pourquoi ObservableCollection génère-t-il une exception lors de sa modification?
- 28. Problème lors de la création d'un travail de minuteur
- 29. Horodatage MySQL uniquement lors de la création
- 30. Problème lors de la création d'un composant
Mais le MSDN devrait clairement indiquer cela pourrait se produire. En regardant le XPathDocument, vous ne pouvez pas dire qu'il cherchera DTD sur le web. Aussi, pourquoi l'exception est-elle levée? Si la DTD n'est pas nécessaire - fonctionne hors connexion n'est-ce pas? Merci pour les suggestions de toute façon - je vais les essayer la prochaine fois! – Goran