Question

J'ai une application asp.net avec un fil d'arrière-plan. Le fil démarre lorsque l'application démarre et il est gracieusement arrêté lorsque les extrémités d'application. Je courais le site sur un hébergement mutualisé. Malheureusement, parfois l'application ne déclenche pas l'événement Application_End quand elle se termine. Je pense que les fils seraient tués de toute façon, mais ce n'est pas le cas. J'ai actuellement 4 fils en cours d'exécution en arrière-plan. Trois des temps précédents l'application a commencé et 1 de la session de l'application en cours. Comment puis-je vous assurer que les fils sont arrêtés lorsque les extrémités d'application? Est-il possible pour les fils pour vérifier si la demande a été remise à zéro ou HAD été remis à zéro? Ou est-il un moyen de vérifier ces fils de voyous au démarrage de l'application et de les tuer? Merci à l'avance.

Était-ce utile?

La solution

Utilisez le ThreadPool.QueueUserWorkItem () pour exécuter votre code en arrière-plan, qui sera pris fin lorsque les déchargements AppDomain. Je suppose que vous utilisez un BackgroundWorker, selon les balises, et je vous conseille d'essayer cette place. (Pensez à ajouter un exemple de code pour en tirer de meilleures réponses.)

Géré ThreadPool: http://msdn.microsoft.com/en- nous / bibliothèque / 0ka9477y.aspx

Premier plan / arrière-plan Threads: http://msdn.microsoft.com/ fr-fr / bibliothèque / h339syd0.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top