Как указать время ожидания для XmlReader? - PullRequest
6 голосов
/ 26 января 2011

Я читаю rss с помощью xml reader.

А когда URL-адрес плохой, ему не хватает 60 секунд. Как я могу указать время ожидания?

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

Ответы [ 3 ]

16 голосов
/ 26 января 2011

Я не знаю, возможно ли изменить время ожидания 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 голос
/ 26 января 2011

Вы можете создать свой собственный веб-запрос и создать XmlReader из потока ответов. Подробности смотрите в ответе на этот вопрос:

Запрет или обработка тайм-аута с помощью XmlReader.Create (uri)

0 голосов
/ 26 января 2011

Передайте свой собственный поток вызову XmlReader.Create.Установите желаемое время ожидания.

...