【发布时间】:2016-05-11 13:21:13
【问题描述】:
我遇到了一些关于 rebus 的问题。
这是我的场景。 我们提供三项服务
Identity) 发布了“IdentityCreated”消息
网关)将“UpdateProfileCommand”直接发送到“profile-westeu-input”队列中
Profile) 使用来自输入队列“profile-westeu-input”的消息并订阅“IdentityCreated”消息
Profile Service
中看到的rebus配置鉴于我已经在温莎城堡注册了我的处理程序。
container.Register(Classes.FromThisAssembly()
.BasedOn(typeof(IHandleMessages<>))
.WithServiceAllInterfaces()
.LifestyleTransient());
我用 Rebus 配置了
var bus = Configure.With(new CastleWindsorContainerAdapter(container))
.Logging(x => x.Trace())
.Transport(
t => t.UseAzureServiceBus(connectionStringNameOrConnectionString: connectionString,
inputQueueAddress: ProfileInputQueueName, mode: AzureServiceBusMode.Standard))
.Options(o => o.SimpleRetryStrategy(ProfileErrorQueueName))
.Start();
并订阅了这样的消息类型
bus.Subscribe(typeof(Nabufit.Messages.Identity.Events.IdentityCreated)).Wait()
我预计我的处理程序会被自动调用。但是它没有:(。
我尝试了不同的解决方案
- 更改了输入队列的名称
- 创建了一个事件发射器程序,该程序发布了一个“IdentityCreated”类型的事件。在输入队列中查看时,它存在,但不会被 rebus 拾取。
奖金信息:
- 使用 azure 服务总线
- 在 Service Fabric 应用程序中托管 Rebus
- 我的输入队列名为“profile-westeu-input”
【问题讨论】:
-
会发生什么?什么都没有发生吗?还是你得到一个异常说消息无法发送给任何处理程序?
-
什么都没有。我从 rebus 获得的最新信息是它已经启动了 1 名工人,然后从那里开始沉默。我可以看到当前版本已经有一段时间没有更新 WindowsAzure.ServiceBus 包了。我已经在本地更新了包,但似乎没有解决问题。但是,您会尝试更新到最新版本并运行测试吗?
-
抬头。我们正在运行 .net 4.6.1,它与 rebus.azureservicebus 中建议的 WindowsAzure.ServiceBus 包版本存在一些问题。 stackoverflow.com/questions/34329056/…
-
您能否启动 Azure 服务总线资源管理器并查看主题?
-
我目前不在办公室,但如果我没记错的话,它在消息类型下列出,订阅者路由到 profile_westeu_input?
标签: azureservicebus azure-service-fabric rebus