1

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

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

        _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
        });
4

1 回答 1

1

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

要更好地了解所有不同角色和配置文件会发生什么,请查看All About NServiceBus Host Profiles and Roles。(免责声明:这是我的博客文章。)

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

于 2013-06-12T21:21:03.853 回答