如何让nservicebus在内存中为自托管服务器保留saga

时间:2010-09-13 17:19:30

标签: nservicebus

在我的自托管服务器中,我以这种方式配置NServiceBus:

            NServiceBus.Configure.With()
                .Log4Net()
                .CastleWindsorBuilder(_container)
                .XmlSerializer() // or BinarySerializer()
                .MsmqTransport()
                .IsTransactional(true)
                .UnicastBus()
                    .LoadMessageHandlers()
                .Sagas()
                .CreateBus()
                .Start();

它在以下位置抛出了null引用异常:     src \ impl \ Sagas \ NServiceBus.Sagas.Impl \ SagaMessageHandler.cs:第168行

,我认为这是因为缺少了saga persister。

在通用主机中,通过从命令行传递“NServiceBus.Lite”,使用内存中的持久性。如何配置自主服务器以使用内存中的saga persister?

谢谢!

1 个答案:

答案 0 :(得分:2)

在2.0中,InMemorySagapersister是主持人的一部分。因此,如果您使用的是2.0,我建议您将persister复制并粘贴到您自己的项目中,或者添加对主机的引用。

通过添加:

来配置持久性

.InMemorySagaPersister()到您的配置调用。