我有个故事:
public class MySaga : Saga<MySagaEntity>,
IAmStartedByMessages<Message1>,
IAmStartedByMessages<Message2> {
}
一般来说,我需要从日志中很容易地看到哪些消息开始于哪个传奇。
我需要的是记录如下:
接收消息Message1与.它启动了一个新的传奇接收消息Message2与..。为了Id=的传奇故事..。
作为替代方案,我有以下方法: 1.检查日志文件是否启动,如果没有启动,2.检查saga的相关性是否为空(因为它将在启动saga的处理程序中填充)
if (Data.CorrelationId == default_value)
_log.DebugFormat("message starts saga CorrelationId={0}", message.CorrelationId)
有谁知道更好的方法吗?
发布于 2013-08-05 13:00:56
如果已经创建了一个saga,或者已经加载了一个现有的实例,那么NServiceBus中目前没有一种方法可以得到通知。(我打开了一个github 问题供进一步讨论)
这就是说,如果该传奇是由给定的消息创建的,这意味着您最好在您的saga数据上设置一个布尔标志来显式地记录这一点。
if(Data.SagaWasStartedByAOnlineCustomer)
Bus.Send(new VerifySomethingForOnlineCustomersCommand);
https://stackoverflow.com/questions/18053738
复制相似问题