首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nservicebus3: SagaPersister无当前会话

nservicebus3: SagaPersister无当前会话
EN

Stack Overflow用户
提问于 2012-01-17 16:27:19
回答 1查看 407关注 0票数 2

我们在我们的应用程序中引入了nservicebus 3和saga支持。我们已经配置了nhibernate saga持久化,如下所示:

代码语言:javascript
复制
  <NHibernateSagaPersisterConfig>
    <NHibernateProperties>
      <add Key="connection.provider" Value="NHibernate.Connection.DriverConnectionProvider"/>
      <add Key="connection.driver_class" Value="NHibernate.Driver.SqlClientDriver"/>
      <add Key="dialect" Value="NHibernate.Dialect.MsSql2008Dialect"/>
      <add Key="connection.connection_string_name" Value="TeamGameServiceDB"/>      
    </NHibernateProperties>
  </NHibernateSagaPersisterConfig>

    public void InitializeServiceBus(IWindsorContainer container)
    {
        SetLoggingLibrary.Log4Net(log4net.Config.XmlConfigurator.Configure);

        Configure.With()
            .DefiningMessagesAs(t => t.ImplementsTheInterface(typeof (IMessage)))
            .Log4Net()
            .CastleWindsorBuilder(container)
            .XmlSerializer()
            .MsmqTransport()
            .IsolationLevel(System.Transactions.IsolationLevel.RepeatableRead)
            .UnicastBus()
            .Sagas()
            .NHibernateSagaPersister();
    }

当传奇即将被持久化时,我得到了一个异常,说“没有会话绑定到当前上下文”。我浏览了nservicebus.nhibernate项目,但我找不出谁负责设置SagaPersistor使用的当前会话(传奇持久器使用ISessionFactory.GetCurrentSession())。由nhibernate saga持久器配置的会话工厂被设置为使用"NHibernate.Context.ThreadStaticSessionContext“,这意味着nservicebus堆栈中的某些东西应该分配它。有人能帮我讲讲如何让ISessionFactory.GetCurrentSession()被赋值吗?将要持久化的saga是从bus.SendLocal消息发起的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-18 02:42:30

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8891606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档