2009-07-15 7 views
0

Voici ma questionComment lancer une commande et passer immédiatement (POST arrière) lorsque vous utilisez un service WCF

J'ai un service WCF que je mis en œuvre en utilisant un modèle singleton, donc une seule instance de celui-ci effectivement jamais exécuté à un moment donné.

Maintenant j'ai une page aspx qui a un bouton appelé 'build' Lorsque j'appuie sur 'build', les services WCF exécutent une méthode qui prend environ 15 minutes. Le problème est lorsque je fais l'appel au service WCF, je voudrais juste commencer la méthode et ne pas attendre qu'il se termine, de sorte que l'utilisateur peut naviguer, fermer le navigateur, etc et la méthode se déroulera jusqu'à c'est complet. Est-ce faisable avec un service WCF ou est-ce que j'ai fait fausse route?

Répondre

1

Vous pouvez créer un thread dans votre service.

+0

À droite, mais le fil restera-t-il vivant même si je ferme le navigateur ou si je m'en éloigne? – Matt

+1

Il devrait, oui. Il semble que vous hébergez le service dans IIS? Une fois que vous démarrez le thread, le webmethod (méthode de service) continuera et retournera mais il ne tuera pas le thread. http://forums.asp.net/p/1414648/3121821.aspx#3121821 Regardez le message du bas de John Saunders, quelques pièges là-bas. – marcc

0

Que diriez-vous du client utilisant les versions asynchrones Begin/End de la méthode de service?

Questions connexes