J'utilise NHibernate sur un nouveau projet ASP.NET et je rencontre un comportement que je considère comme étrange. J'essaie de gérer ma session en utilisant un HttpModule pour attraper l'événement EndRequest et fermer la session. Cela fonctionne correctement, cependant, après que l'événement EndRequest se déclenche, j'obtiens une exception dans l'événement OnLoad d'un de mes contrôles personnalisés qui tente de lire une propriété de mon objet chargé paresseux. Je reçois une exception indiquant «Impossible d'initialiser paresseusement une collection, aucune session ou session n'a été fermée». Désactiver la charge paresseuse pour ces propriétés résout le problème et constitue une solution acceptable. Mais cela semble aller à l'encontre de ce que j'ai toujours pensé être vrai.Utilisation de l'événement EndRequest pour fermer la session NHibernate avec IIS 7
Je suppose que l'événement OnLoad et tout le traitement côté serveur seront effectués au moment où EndRequest est déclenché. C'est aussi la première fois que j'ai utilisé IIS 7 sur un projet. Est-ce une raison pour le comportement? Quel est le comportement attendu?
Vous pouvez consulter cet article pour plus d'informations sur l'utilisation de NHibernate avec un module HTTP. –
http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx –