【发布时间】:2017-06-07 07:55:26
【问题描述】:
我有一个网站和一个网络作业,其中网站是单向客户端,网络作业是工作人员。
我使用 Azure ServiceBus 传输队列。
我收到以下错误:
InvalidOperationException:不能将自己用作超时管理器 因为我们是单向客户
当我尝试从网站总线发送 Bus.Defer 时。
既然 Azure Servicebus 已经内置了对 timeoutmanager 的支持,那么这个工作事件不应该来自单向客户端吗?
Bus.Defer 上的文档说:通过将标头附加到消息并将其传递到配置的超时管理器端点来延迟消息的传递 ///(默认是我们自己)。时机成熟时,将延迟消息返回到标头指示的地址。”
我可以通过这样设置 ReturnAddress 来解决这个问题吗:
headers.Add(Rebus.Messages.Headers.ReturnAddress, "webjob-worker");
【问题讨论】: