Question

J'ai une application à 3 niveaux: 1ère couche: base de données SQL. 2ème couche: App Sever (dotnet) 3ème couche: client wpf intelligent.

J'utilise NHibarnate (couramment) comme source de données pour la couche serveur d'applications. (Le serveur d'applications - la deuxième couche parle à la base de données en utilisant NH)

La couche application communique avec le client via WCF.

Est-ce que je profite de l'utilisation de NH, car WCF ne prend pas en charge le chargement différé de NH (du moins, cela ne ressemble pas à cela) et, si j'utilise un objet de session statique, je dois rendre le serveur unique instance unique accès simultané - sinon, les choses se gâtent à l'intérieur de NH lorsque plusieurs appels arrivent en même temps. Si j'ouvre un objet de session (NH) pour chaque appel et le ferme à la fin de l'appel, je perds le cache NHibarante 1er niveau ...

Alors - La question est - est-ce que je m’applique mal avec NH? ou n'est-ce pas supposé être efficace dans mon genre de projet?

Était-ce utile?

La solution

Vous pouvez consulter le uNhAddIns Projet WCF . Il utilise session par appel, car il est recommandé d’utiliser WCF.

Vous avez raison de dire qu'il n'y a pas de charge différée via WCF. Vous devez remplir le graphe d'objets au niveau dont vous avez besoin, puis l'envoyer. Si votre couche de service n’est pas orientée objet dans son comportement, NHibernate est peut-être excessif. C'est un appel difficile sans beaucoup plus de contexte.

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