【问题标题】:How set timeout on XDocument.Load(string uri)?如何在 XDocument.Load(string uri) 上设置超时?
【发布时间】:2011-02-27 14:00:12
【问题描述】:

有没有办法在 System.Linq.Xml.XDocument.Load(string uri) 上设置超时?还是应该使用Implement C# Generic Timeout 中描述的技术?

【问题讨论】:

    标签: c# .net timeout linq-to-xml


    【解决方案1】:

    据我所知,没有任何内置功能。您可以使用 WebRequest 的实例自己获取 XML 内容(您可以设置超时),然后将 XML 数据直接传递给 XDocument.Load 方法。

    从技术上讲,最“稳健”的解决方案是自己实现XmlResolver,它在GetEntity() 实现中使用WebRequest 来进行超时。然后根据您的XmlResolver 创建一个XmlReader 并将XmlReader 传递给XDocument.Open

    我说这会更“健壮”的原因是,如果 XML 文件引用 Web 服务器上的 other 实体(例如 DTD),那么您可能希望超时申请也不仅仅是最初的请求。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2015-10-16
      • 2010-11-19
      • 1970-01-01
      • 2011-04-11
      • 2019-01-22
      • 2017-04-17
      • 2015-07-13
      相关资源
      最近更新 更多