首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MassTransit AzureServiceBus生成队列

MassTransit AzureServiceBus生成队列
EN

Stack Overflow用户
提问于 2017-03-20 10:45:54
回答 1查看 449关注 0票数 2

我有一个MT设置的工作配置,托管在Azure Service Fabric解决方案中。

我有一个发送消息的API和一个读取消息的无状态应用程序。

在这个无状态应用程序中,我告诉它使用TestMessage类型的消息,如下所示:

代码语言:javascript
复制
container.Register(Classes.FromThisAssembly().BasedOn<IConsumer>());
var busControl = Bus.Factory.CreateUsingAzureServiceBus(cfg =>
        {
            var h = cfg.Host(new Uri("sb://xxxxx.servicebus.windows.net"), host =>
            {
                host.OperationTimeout = TimeSpan.FromSeconds(5);

                host.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "******");
            });

            cfg.ReceiveEndpoint(h, "fabric-test", ec =>
            {
                ec.UseMessageScope<ConsumeContext>();
                ec.LoadFrom(_container);
            });
        });

在API中,我指定了fabric测试队列,并使用以下方式发送:

代码语言:javascript
复制
var p = await _bus.GetSendEndpoint(new Uri("sb://xxxxx.servicebus.windows.net/fabric-test"));

await p.Send(new TestMessage(Guid.NewGuid()));

这一切都很好--不过。

当我查看蔚蓝门户时,我可以看到已经创建了3个队列和1个主题:

  • desktopmmd2jga_stateless1_bus_qypoyyypboqbzhk5bdkg665cyh (队列)
  • desktopmmd2jga_webapi1_bus_qypoyyypboqbsitfbdkg665pdd (队列)
  • 织物测试(排队)
  • xxxxx.core.testmessage (主题)

虽然这一切都有用,但我想知道这一切是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-20 13:52:18

stateless1是您的服务fabric总线实例,是为该总线创建的临时队列。webapi1是您的web总线实例,用于发送到无状态服务,也是一个临时队列。fabric-test是接收端点的服务队列。namespace.core.testmessage是您的消息类型,由服务端点订阅。

所有这些都是由MassTransit构建的,以支持您正在使用的消息结构。临时队列在5分钟后消失,不用担心--它们只是为了寻址和维护与ASB的连接。

主题是在发布该类型的消息时创建的,以便您的服务端点接收到它。如果不想订阅特定服务端点的消息类型主题,可以在该端点的配置中指定SubscribeMessageTopics = false

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

https://stackoverflow.com/questions/42901571

复制
相关文章

相似问题

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