Dans un ASP.Net l'application, l'utilisateur clique sur un bouton sur la page web, et ce alors instancie un objet sur le serveur via le gestionnaire d'événement et appelle une méthode sur l'objet. La méthode va à un système externe pour faire des choses et cela pourrait prendre un certain temps. Donc, ce que je voudrais faire est de lancer cet appel de méthode dans un autre thread, donc je peux redonner le contrôle à l'utilisateur avec "Votre demande a été soumise". Je suis assez satisfait pour ce faire, comme le feu et oublier, mais il serait encore mieux si l'utilisateur pouvait continuer à l'interrogation de l'objet d'état.
Ce que je ne sais pas si IIS permet à mon fils pour continuer à fonctionner, même si l'utilisateur de la session expire. Imaginez, l'utilisateur déclenche l'événement et nous instancier l'objet sur le serveur et le feu de la méthode dans un nouveau thread. L'utilisateur est heureux avec les "Votre demande a été soumise" message et ferme son navigateur. Finalement, ce utilisateurs session sur IIS, mais le thread peut encore être en cours d'exécution, faire du travail. Va IIS permettre le fil de continuer à courir ou va le tuer et de disposer de l'objet une fois la session de l'utilisateur expire?
EDIT: à Partir des réponses et des commentaires, je comprends que la meilleure façon de le faire est de déplacer le long cours de traitement à l'extérieur de l'IIS. En dehors de tout le reste, ce prix avec le domaine d'application de recyclage problème. Dans la pratique, j'ai besoin d'obtenir la version 1 hors-sol, dans un temps limité et doit travailler à l'intérieur d'un cadre, de sorte voudrais éviter de la couche de service, d'où le désir de se faire renvoyer du fil à l'intérieur de IIS. Dans la pratique, la "longue course" ici ne sont que quelques minutes et la concurrence d'accès sur le site web sera faible, donc ça devrait être ok. Mais, la prochaine version sera certainement besoin de se diviser en un service distinct de la couche.