Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nservicebus N服务总线:从同一事件开始的不同传奇_Nservicebus - Fatal编程技术网

Nservicebus N服务总线:从同一事件开始的不同传奇

Nservicebus N服务总线:从同一事件开始的不同传奇,nservicebus,Nservicebus,是否可以用相同的启动消息和相同的端点启动不同的传奇 例如,我想处理一条消息“用户登录” 我有两个不同的故事,应该从上面的信息开始: 将等待用户注销并发布某些事件 第二个将等待,直到他购买了一些产品,并将发布事件 这些传奇是完全不同的,并且有不同的类名&传奇数据类名 问题是:当“用户登录”消息出现时,两个传奇是否都会开始?一个端点收到的单个消息可以启动多个传奇 您需要将这两个传奇都标记为由该消息类型开始。例如: public class UserSessionSaga : IAmStartedBy

是否可以用相同的启动消息和相同的端点启动不同的传奇


例如,我想处理一条消息“用户登录”

我有两个不同的故事,应该从上面的信息开始:

  • 将等待用户注销并发布某些事件
  • 第二个将等待,直到他购买了一些产品,并将发布事件
  • 这些传奇是完全不同的,并且有不同的类名&传奇数据类名


    问题是:当“用户登录”消息出现时,两个传奇是否都会开始?

    一个端点收到的单个消息可以启动多个传奇

    您需要将这两个传奇都标记为由该消息类型开始。例如:

    public class UserSessionSaga : IAmStartedByMessages<UserSignedIn>...
    
    公共类UserSessionSaga:IAmStartedByMessages。。。
    

    公共类UserPurchasesSaga:IAmStartedByMessages。。。
    

    UserSessionSaga
    将由一个事件(注销)完成,该事件与完成
    UserPurchasesSaga
    的事件不同。为此,您必须使用
    IHandleMessages
    指定每个saga可以处理的其他消息,并关联每个saga可以处理的所有消息。有关语法,请参阅。

    端点收到的单个消息可以启动多个saga

    您需要将这两个传奇都标记为由该消息类型开始。例如:

    public class UserSessionSaga : IAmStartedByMessages<UserSignedIn>...
    
    公共类UserSessionSaga:IAmStartedByMessages。。。
    

    公共类UserPurchasesSaga:IAmStartedByMessages。。。
    

    UserSessionSaga
    将由一个事件(注销)完成,该事件与完成
    UserPurchasesSaga
    的事件不同。为此,您必须使用
    IHandleMessages
    指定每个saga可以处理的其他消息,并关联每个saga可以处理的所有消息。有关语法,请参阅。

    例如,我想处理“用户登录”消息。我有两个不同的传说,应该从上面的消息开始:将等待用户注销并发布一些事件。第二个将等待,直到他购买了一些产品,并将发布事件。这些传奇是完全不同的,并且有不同的类名&传奇数据类名。问题是:当“用户登录”消息出现时,这两个传奇会开始吗?所以在不同的表中会有不同的传奇。谢谢@digger。更新完全改变了答案。是的,你可以做你计划做的事。文档中有一个单独的传奇故事,可以用来构建您正在谈论的场景,让您继续。例如,我想处理一条消息“用户登录”。我有两个不同的传说,应该从上面的消息开始:将等待用户注销并发布一些事件。第二个将等待,直到他购买了一些产品,并将发布事件。这些传奇是完全不同的,并且有不同的类名&传奇数据类名。问题是:当“用户登录”消息出现时,这两个传奇会开始吗?所以在不同的表中会有不同的传奇。谢谢@digger。更新完全改变了答案。是的,你可以做你计划做的事。文档中有一个单独的传奇故事,可以用来构建您正在谈论的场景,从而让您继续前进。