2010-11-11 6 views
1

Je consulte un service Web pour une valeur de retour spécifique. (Utilisation de l'appel de synchronisation car le service Web revient immédiatement). Comment mettre en place un timeout pour ce type d'interrogation, disons 10 minutes et j'arrêterai d'interroger?interrogation et dépassement de délai

+0

Comment faites-vous des sondages? Pouvez-vous poster le code? – Oded

+0

Pourriez-vous commencer une discussion juste avant d'appeler le service Web? – Koekiebox

Répondre

1

L'exemple le plus simple que je peux penser est quelque chose comme ...

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 
} 

Mais ayant plus d'informations aideraient. Vous pouvez alors mettre une routine similaire dans un autre thread pour empêcher votre application de se bloquer.

Questions connexes