如何将我的nhibernate库设置为在web和控制台应用程序中同时工作?

如何将我的nhibernate库设置为在web和控制台应用程序中同时工作?,nhibernate,Nhibernate,在web应用程序上,我使用一个NHibernate帮助程序来查找在httpmodule中打开的会话(也在那里提交) web 在控制台应用程序中,我该怎么做?您的选项是:“调用”和“线程静态”。有关所有可用上下文的更详细解释,请参阅此文档: 为了使库同时适用于web和控制台应用程序,您有两个选项: 根据App.config和web.config中的应用程序设置,通过在代码中手动设置当前会话上下文类属性并将其从hibernate.cfg.xml文件中删除,相应地构建会话工厂 在web应用程序的w

在web应用程序上,我使用一个NHibernate帮助程序来查找在httpmodule中打开的会话(也在那里提交)

web
在控制台应用程序中,我该怎么做?

您的选项是:“调用”和“线程静态”。有关所有可用上下文的更详细解释,请参阅此文档:

为了使库同时适用于web和控制台应用程序,您有两个选项:

  • 根据App.config和web.config中的应用程序设置,通过在代码中手动设置当前会话上下文类属性并将其从hibernate.cfg.xml文件中删除,相应地构建会话工厂
  • 在web应用程序的web.config和控制台应用程序的app.config中包含。通过这种方式,可以将当前会话上下文类属性设置为不同的值。如果我没有弄错的话,web.config和app.config中的会覆盖hibernate.cfg.xml的值。如果我错了,那么您只需在web.config和app.config中包含完整的文件,并从库中删除hibernate.cfg.xml文件
  •   <property name="current_session_context_class">web</property>