J'ai un service WCF qui doit parfois retourner une erreur. Pour une raison quelconque, les appels à mon service commencent à expirer avec l'erreur suivante: "Le délai de la chaîne de requête a expiré en attente d'une réponse après 00: 00: 59.8906201. Augmentez la valeur du délai d'attente passée à l'appel pour demander ou augmenter le SendTimeout valeur sur la liaison.Le temps alloué à cette opération peut avoir été une partie d'un délai plus long. " Après l'examen du problème, un motif a émergé: Lorsque le service a renvoyé 10 fois une erreur, le délai d'attente commence. Donc, j'ai créé un TestService mis en œuvre par:Pourquoi mon service WCF renvoie une exception FaultException, expire après 10 appels?
public string GetData(int value)
{
throw new FaultException("A testerror occured");
}
Et TestClient:
protected void RunTestGetData()
{
using (TestServiceReference.Service1Client client
= new WSPerformanceTester.TestServiceReference.Service1Client())
{
try
{
client.GetData(1);
client.Close();
outputWriter.WriteLine(string.Format("Call run in thread {0}: GetData()", Thread.CurrentThread.ManagedThreadId));
outputWriter.Flush();
}
catch (Exception e)
{
client.Abort();
client.Close();
outputWriter.WriteLine(string.Format("Error occured in thread {0}: GetData(): {1}", Thread.CurrentThread.ManagedThreadId, e.Message));
outputWriter.Flush();
}
}
}
Cela se produit uniquement lorsque le service renvoie une FaultException. Si je lance une exception normale, le service peut continuer à fonctionner après le 10ème appel. Évidemment, je voudrais bien emballer mes exceptions, donc lancer des exceptions normales n'est pas une véritable option.
Pourquoi est-ce que je rencontre ces exceptions de dépassement de délai? Merci d'avance pour toute aide ..
[la citation nécessaire] – piers7