J'ai écrit une application WPF DESKTOP en utilisant NHibernate, WPF, Prism et Unity Container mais j'ai un problème en termes de gestion de session dans les services / référentiels et comment le faire proprement par injection de dépendance en utilisant Unity.
Ayant lu Création d'une application de bureau à faire avec NHibernate J'ai maintenant une session par ViewModel / Presenter.
Cependant, si j'ai plusieurs services sur mon viewmodel, je dois passer la session dans chaque service, ce qui me semble lourd et pas tout à fait correct puisque je veux effectuer tous les accès aux données par le biais d'un référentiel.
Par exemple
CustomerMaintenanceViewModel
{
service1.Session = SessionForThisPresenter;
service2.Session = SessionForThisPresenter;
service3.Session = SessionForThisPresenter;
service1.GetAllSomething();
service2.GetAllSomething();
service3.GetAllSomething();
}
Chaque service est essentiellement une façade sur un référentiel et je voudrais que chaque référentiel pour ce présentateur soit impliqué dans la même session sans le définir explicitement.
Tout conseil sur la manière de traiter ce problème serait le bienvenu, car je suis sûr qu'il existe une solution assez proche, mais je ne sais pas comment m'y prendre.