Я опрашиваю веб-службу для получения определенного возвращаемого значения. (Использование вызова синхронизации, поскольку веб-служба сразу возвращается). Как реализовать тайм-аут для такого опроса, скажем, 10 минут, и я перестану опрос?

1
user496949 11 Ноя 2010 в 14:18
Как вы голосуете? Можете выложить код?
 – 
Oded
11 Ноя 2010 в 14:19
Не могли бы вы начать обсуждение непосредственно перед вызовом веб-службы?
 – 
Koekiebox
11 Ноя 2010 в 14:21

2 ответа

Лучший ответ

Самый простой пример, который я могу придумать, - это что-то вроде ...

var service = new MyService();
var result = false;
var start = DateTime.Now;

while (!result && DateTime.Now < start.AddMinutes(10)) {
    result = service.Execute();
}
if (result){
    // Call successful
} else {
    // Routine timeout
}

Но дополнительная информация поможет. Затем вы можете захотеть поместить аналогичную процедуру в другой поток, чтобы предотвратить блокировку вашего приложения.

1
Chuck 11 Ноя 2010 в 15:33

Не вдаваясь в подробности, я могу предложить вам только следующее

Свойство HttpWebRequest.Timeout

Свойство WebRequest.Timeout

0
Adriaan Stander 11 Ноя 2010 в 14:23