如何为XmlReader指定超时时间?

7

我正在使用XML阅读器读取RSS。

如果网址有问题,会花费60秒才能失败。我该如何指定超时时间?

using (XmlReader reader = XmlReader.Create(url, settings))
4个回答

17

我不知道是否可能更改XmlReader的超时时间,但也许你可以尝试另一种方法:

使用WebRequest获取xml(它具有Timeout属性),在获取到xml后将其提供给XmlReader:

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

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

如果您的情况需要,您可能还想研究线程以将此进程分离到后台线程中,以便它不会阻塞您的用户界面。 - Scott
我本来以为这是唯一的选择。感谢您提供详细的代码。 - st78

1

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

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接