¿Cómo se establece el tiempo de espera en XDocument.Load (string uri)?

¿Hay una manera de establecer un tiempo de espera en System.Linq.Xml.XDocument.Load (string uri)? ¿O debería usar la técnica descrita en Implementar tiempo de espera genérico de C # ?

No hay nada incorporado, que yo sepa. Puede obtener el contenido XML usted mismo con una instancia de WebRequest (en la que puede establecer un tiempo de espera) y luego pasar los datos XML directamente al método XDocument.Load .

Técnicamente, la solución más “robusta” sería implementar XmlResolver usted mismo, que utiliza una WebRequest de WebRequest en la implementación de GetEntity () para hacer un tiempo de espera. Luego cree un XmlReader basado en su XmlResolver y pase el XmlReader a XDocument.Open .

La razón por la que digo que sería más “robusta” es que si el archivo XML hace referencia a otras entidades en el servidor web (por ejemplo, una DTD), es probable que desee que el tiempo de espera también se aplique a eso y no solo a la solicitud inicial.