我是一个关于WCF和NHibernate的初学者。然而,我必须做一个小项目涉及几个服务(用WCF制作)和一个持久层(用NHibernate制作)。
我的问题与ISession和ISessionFactory的用法有关。我读到(并且看到) ISessionFactory的实例化非常繁重(并且是线程安全的)。因此,我认为我只能在应用程序运行时实例化这个类一次。我是对的?
我的问题更多地与ISession类有关。我不确切地知道我必须在哪个粒度使用它。我认为我应该为每个服务调用操作使用/创建一个实例(我使用“每个调用的服务”)。再说一次,我是对的?
发布于 2008-11-17 21:45:34
你说对了。会话工厂的构建成本很高,并且非常适合作为单例,而会话则是包装“工作单元”的更轻量级的上下文对象。
要了解更多信息,您可以阅读有关castle WCF工具的信息,该工具提出了解决此问题的方案。这里有一个探索它的blog post。
https://stackoverflow.com/questions/296753
复制相似问题