我有一個WCF MSMQ服務(託管在Windows服務中)。我的方法有它的TransactionScopeRequired屬性。WCF與MSMQ DTC - 關閉NHibernate會話
我使用Nhibernate將我的數據保存到我的數據庫。我想確保在每次通話後關閉每個Nhibernate會話。
我用下面的方法(使用城堡設施)在我的數據訪問
using(var session = sessionManager.OpenSession())
using(var transaction = session.BeginTransaction())
{
// do work
transaction.Commit()
}
但是,當我的主要服務方式退出我得到一個錯誤,因爲我已經配置NHibernate會話和我的認爲DTC需要這個來做它的承諾。
我的問題是:
什麼是關閉NHibernate會話的最佳方式 - DTC承諾後(即我已經離開我的服務方法後?)。
謝謝。
您使用的方法應該可以工作,但是您不會聲明錯誤消息或NHibernate版本。 –