Répéter une fonction en C# jusqu'à ce qu'il n'est plus déclenche une exception

J'ai une classe qui appelle une interface SOAP, et obtient un tableau de données. Cependant, si cette demande en temps, elle lève une exception. Que c'est bon. Cependant, je veux que mon programme pour tenter de faire appel à nouveau. Si c', je tiens à continuer à faire cet appel jusqu'à ce qu'il réussisse. Comment puis-je y arriver?

Par exemple:

try
{
   salesOrdersArray = MagServ.salesOrderList(sessID, filter);
}
catch
{
   ?? What Goes Here to FORCE the above line of code to rerun until it succeeds.
}
Augmenter le délai d'attente afin de ne pas jeter de l'exception?
Il vous suffit d'appeler la méthode à nouveau à partir du bloc catch, MAIS - qu'advient-il si le service est arrêté pour une période de temps prolongée? Voulez-vous la méthode à exécuter de manière récursive pour 24 heures? Je recommande de limiter à un nombre défini de tentatives.
Sur l'ensemble de ces réponses, pas une seule personne vous dit de vous attraper un plus spécifiques exception. Que faire si votre bloc try contient des objets dans un état non valide pour obtenir le salesOrderList? Nouvelle tentative n'aboutira jamais.

OriginalL'auteur psyklopz | 2011-10-27