【发布时间】:2013-08-23 18:47:08
【问题描述】:
我在我的窗口应用程序中使用 Spring .Net 和 Fluent NHibernate,并且我正在使用多个线程。 我在一些博客和问题中读到每个线程只能有一个会话,我正在使用 HibernateDaoSupport 和 CurrentSession 来做到这一点:
public class DaoBase<T> : HibernateDaoSupport, IDaoBase<T>
{
protected ISession CurrentSession
{
get { return SessionFactoryUtils.GetSession(HibernateTemplate.SessionFactory, true); }
}
}
但是,我正在测试此功能,并且必须表明每个线程的会话是不同的会话。 我该怎么做?
观察: 经过一番研究,我发现通过一个休眠会话获得的对象,不能在另一个会话中更改,例如,在“会话 1”中找不到对象并在“会话 2”中对同一对象进行更新。 但是,在我的测试中,我得到了第一个线程的对象并在第二个线程中更新了它,这是有效的。怎么了?
【问题讨论】:
标签: c# nhibernate fluent-nhibernate spring.net nhibernate-configuration