Je vois qu'il ya 2 scénarios possibles quant à la gestion des sessions:Comment gérer les sessions NHibernate dans une application ASP.NET WebForms?
- Ouvrir une seule ISession par demande. Ouvrez-le au démarrage de la requête et fermez-le à la fin de la requête.
- Ouvrir une ISession par «unité de travail» conceptuelle. De nombreuses sessions sont créées pour une demande.
L'approche n ° 1 est celle que je suis en train de faire. Cela m'inquiète un peu car, même si cela fonctionne, c'est un peu difficile à déboguer. Par exemple, j'ai un objet qui n'est pas sauvegardé (même si je l'ai commandé) et j'ai du mal à le déboguer car il se passe BEAUCOUP de choses pendant un cycle de vie de requête complet.
L'approche n ° 2 semble être la meilleure pratique standard (pas sûr de ASP.NET) et je suis sûr que c'est plus facile à déboguer. Le problème que je vois concerne la communication entre sessions. Par exemple: Ma classe Page contient une référence à l'utilisateur, qui est un objet persistant. La plupart des opérations reçoivent l'utilisateur en tant que paramètre. Comme l'utilisateur appartient à une session différente, je ne peux pas le passer en paramètre.
Je suis partial à # 2, mais je ne sais pas si c'est la meilleure pratique, ni comment faire face à l'objet intersession.
Merci.
Pourquoi est-il difficile de déboguer? – Paco