如何为XmlReader指定超时?

时间:2011-01-26 19:19:04

标签: c# timeout xmlreader

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

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

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

3 个答案:

答案 0 :(得分:16)

我不知道是否可以更改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...
}

答案 1 :(得分:1)

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

Prevent or handle time out with XmlReader.Create(uri)

答案 2 :(得分:0)

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