2012-06-27 5 views
0

J'ai une méthode sur un proxy WCF qui renvoie void. Si le retour était non-nul, je devrais appeler la méthode End ... correspondante pour obtenir le résultat, mais que se passe-t-il si le retour est nul?Appel de EndSomeMethod sur un proxy WCF ASync

Par exemple:

ModuleProxy.Instance.Controller.BeginSaveConfiguration(Module.Name, Proxy_EndSaveConfig, null); 
    ... 
} 

private void Proxy_EndSaveConfig(IAsyncResult ar) { 
    ModuleProxy.Instance.Controller.EndSaveConfiguration(ar); 
} 

Je Je viens de passer un rappel nul alors jamais appel EndSaveConfiguration, sera la prise de procuration à quelque chose ou se retrouver dans un état bizarre finalement?

Répondre

0

Normalement, votre requête asynchrone doit expirer. La valeur par défaut est 10 minutes. Si vous voulez le diminuer, changez la configuration de liaison pour qu'elle soit inférieure.

+0

Oui mais n'appelle pas la méthode End a un impact négatif? – Echilon

+0

Non, car votre opération s'exécute dans un thread distinct. Le seul problème que vous pouvez rencontrer est que si vous avez un nombre élevé de demandes entrantes, le nombre de threads va vraiment s'épanouir. Pour contrer cet effet, changez le délai d'attente en valeur plus petite (si votre opération n'effectue pas de tâches très longues). –