Nservicebus 为什么要使用Sagas()进行配置?

Nservicebus 为什么要使用Sagas()进行配置?,nservicebus,Nservicebus,为什么需要使用Sagas()进行配置?我问这个问题是因为在我注意到Sagas()不在configure.with中之前的几个月里,我一直在运行一个关于raven persistence的传奇。事实上,我意识到我也缺少了一些raven persistence的东西。然而,据我所知,Sagas在98%的时间里都在发挥作用,并坚持使用Raven。所以我想知道Sagas()配置与不配置有什么不同 我之所以说98%的时间是因为我确实注意到随机消息从一个方法中掉了出来,并且没有发送下一条消息,而这条消息是在

为什么需要使用Sagas()进行配置?我问这个问题是因为在我注意到Sagas()不在configure.with中之前的几个月里,我一直在运行一个关于raven persistence的传奇。事实上,我意识到我也缺少了一些raven persistence的东西。然而,据我所知,Sagas在98%的时间里都在发挥作用,并坚持使用Raven。所以我想知道Sagas()配置与不配置有什么不同

我之所以说98%的时间是因为我确实注意到随机消息从一个方法中掉了出来,并且没有发送下一条消息,而这条消息是在传说中指定发送的。我很好奇,如果没有正确的配置是造成这种情况的原因

        _logger.InfoFormat("1.1 - Preparing Saga for; File: {0}", message.FileNumber);

        //Creates Saga information 
        SetupSaga(uploads,
                  message.Documents,
                  message.ProcedureID.GetValueOrDefault(0),
                  file.Client.Id,
                  message.FileNumber,
                  message.Stage,
                  user);

        _logger.InfoFormat("1.2 - Upload Saga Unique ID; File: {0}, UniqueID: {1}", message.FileNumber, Data.UniqueID);

        Bus.SendLocal(new GetLoanInformation {
            UniqueID = Data.UniqueID
        });

NServiceBus主机根据角色和配置文件自动执行大量配置。Sagas配置和Raven持久性都会自动为您处理。如果要在自托管时运行Saga,则只需手动执行此操作,这有点罕见

要更好地了解所有不同角色和配置文件的结果,请查看。(免责声明:这是我的博客帖子。)


您提到的问题是由于其他原因造成的,但诊断它需要更多的信息。

NServiceBus主机根据角色和配置文件自动执行大量配置。Sagas配置和Raven持久性都会自动为您处理。如果要在自托管时运行Saga,则只需手动执行此操作,这有点罕见

要更好地了解所有不同角色和配置文件的结果,请查看。(免责声明:这是我的博客帖子。)


您提到的问题是由于其他原因造成的,但诊断它需要更多的信息。

您是在NServiceBus.Host.exe进程中托管还是自托管?它作为主机进程部署到应用程序服务器。编辑后,这真的成了一个不同的问题,我不确定是否有足够的信息来回答这个问题。我鼓励您创建一个更详细的新问题(特别是SetupSaga方法的作用是什么?),然后将此问题链接到该问题。您是在NServiceBus.Host.exe进程中托管还是自托管?它作为主机进程部署到应用程序服务器上。编辑后,这实际上变成了一个不同的问题,我不确定是否有足够的信息来回答这个问题。我鼓励您创建一个更详细的新问题(特别是SetupSaga方法的作用是什么?),然后将此问题链接到该问题。谢谢你的博客,这肯定会在理解个人资料和角色时派上用场。至于我所提供的代码,这就是它正在脱落的部分。该方法做了一些准备工作,建立了传奇故事,然后将消息发送给下一篇文章。大约有2%的时间,它从不发送下一条消息。我检查了事务死信队列,没有看到任何消息落入其中。这部传奇仍然存在于Raven中,因此不会被删除。我只是不确定这是否是一个时间问题?也许创建saga数据实体然后发送下一条消息的速度比将saga数据存储到raven的速度要快,所以消息没有被检索?在这种情况下,我不会得到一条SagaNotFound错误消息吗?我在原始问题中添加了有问题的代码。谢谢你的博客,这肯定会在理解个人资料和角色时派上用场。至于我所提供的代码,这就是它正在脱落的部分。该方法做了一些准备工作,建立了传奇故事,然后将消息发送给下一篇文章。大约有2%的时间,它从不发送下一条消息。我检查了事务死信队列,没有看到任何消息落入其中。这部传奇仍然存在于Raven中,因此不会被删除。我只是不确定这是否是一个时间问题?也许创建saga数据实体然后发送下一条消息的速度比将saga数据存储到raven的速度要快,所以消息没有被检索?在这种情况下,我不会收到SagaNotFound错误消息吗?