À partir d'un service Web (WCF), je souhaite qu'un point de terminaison prenne 10 secondes pour se terminer.L'appel d'une méthode C# et le délai de retour de 10 secondes
Y a-t-il un moyen que je peux faire un thread.sleep(10);
sur la méthode?
À partir d'un service Web (WCF), je souhaite qu'un point de terminaison prenne 10 secondes pour se terminer.L'appel d'une méthode C# et le délai de retour de 10 secondes
Y a-t-il un moyen que je peux faire un thread.sleep(10);
sur la méthode?
Vous pouvez créer une méthode wrapper qui effectue le sommeil approprié.
Thread.Sleep(TimeSpan.FromSeconds(10))
secondes, pas de minutes –
@nesteruk, merci. J'ai mis à jour la réponse – JaredPar
System.Threading.Thread.Sleep (10000) –
Si vous voulez dire sans modifier le code de l'autre (côté serveur) fin de l'appel WCF, (car si vous pouvez changer le code il y a alors la réponse est évidente),
alors pas ..
Commencer un nouveau fil qui dort pendant 10 secondes, puis revenir, de cette façon le temps que prend la methos pour exécuter n'alourdirons pas les 10 secondes
using System.Threading;
public static WCF(object obj)
{
Thread newThread =
new Thread(new ThreadStart(Work));
newThread.Start();
//do method here
newThread.Join();
return obj;
}
static void Work()
{
Thread.Sleep(10000);
}
Si cela est juste pour le test , vous pourriez avoir le point de classe proxy à un proxy Web qui simule le délai d'expiration. En utilisant Fiddler vous script peut la demande/réponse à être retardée de 10 secondes et ensuite l'utilisation de la classe proxy Fiddler pour faire des demandes de service Web en définissant la propriété « Proxy »:
IWebProxy proxy = new WebProxy("http://localhost:8888", true);
webService.Proxy = proxy;
System.Threading.Thread.Sleep (10000); –
Veuillez clarifier votre question - pourquoi ne pourriez-vous pas simplement faire dormir votre méthode? –
Je ne peux pas sembler trouver la méthode Thread, permettez-moi de qualifier complètement désolé! – Blankman