繁体   English   中英

如何为 XmlReader 指定超时?

[英]How to specify timeout for XmlReader?

我正在用 xml 阅读器阅读 rss。

当 url 不好时,它需要 60 秒才能失败。 我如何指定超时?

using (XmlReader reader = XmlReader.Create(url, settings))

我不知道是否可以更改XmlReader超时,但也许你可以做一些不同的事情:

使用WebRequest获取xml(这确实有一个Timeout属性)并在收到xmlReader后输入xml:

WebRequest request = WebRequest.Create(url);
request.Timeout = 5000;

using (WebResponse response = request.GetResponse())
using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
{
    // Blah blah...
}

您可以创建自己的WebRequest并从响应流创建XmlReader。 有关详细信息,请参阅此问题的回复:

使用XmlReader.Create(uri)防止或处理超时

将您自己的流传递给XmlReader.Create调用。 设置你喜欢的任何超时。

另一种选择是这样做

var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM