首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CQRSLite与MassTransit集成

CQRSLite与MassTransit集成
EN

Stack Overflow用户
提问于 2017-01-24 02:45:33
回答 1查看 1.1K关注 0票数 0

目前,我正在使用CQRSLite框架,并好奇如何使用MassTransit作为总线实现。

我目前面临的问题是,如何在MassTransit端正确注册使用者,以便将消息(命令和事件)路由到像这样的处理程序

代码语言:javascript
复制
public class InventoryCommandHandlers : ICommandHandler<CreateInventoryItem>
{
    public void Handle(CreateInventoryItem message)
    {
        // do some job...
    }
}

public class InventoryListView : IEventHandler<InventoryItemCreated>
{
    public void Handle(InventoryItemCreated message)
    {
        // do some job...
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-01-24 08:54:38

您可以始终实现两个接口:

代码语言:javascript
复制
public class InventoryCommandHandlers : 
    ICommandHandler<CreateInventoryItem>,
    IConsumer<CreateInventoryItem>
{
    public void Handle(CreateInventoryItem message)
    {
        // do some job...
    }

    public Task Consume(CreateInventoryItem message)
    {
        Handle(message);
        return Task.FromResult(true);
    }
}

public class InventoryListView : 
     IEventHandler<InventoryItemCreated>,
     IConsumer<InventoryItemCreated>
{
    public void Handle(InventoryItemCreated message)
    {
        // do some job...
    }

    public Task Consume(InventoryItemCreated message)
    {
        Handle(message);
        return Task.FromResult(true);
    }
}

虽然 CQRSLite似乎是为进程内使用而设计的,但在分布式上下文中使用它并没有真正的好处。

我强烈建议查看原始的m存储库并实现您自己的基础库,它只需1/2天,您就可以更好地理解事情是如何工作的。

您还可以通过查看AggregateSource百忧解来获得一些灵感,甚至可能得到它们的使用,这些都是非常好的例子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41819170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档