【发布时间】:2019-05-29 21:09:02
【问题描述】:
标头使用 Azure 服务总线发布,如下所示:
string content = "body";
await _busPublisher.Activator.Bus.Publish(content, headers);
如何同时检索订阅者的标题和内容?
class Handler : IHandleMessages<string>
{
public Handler(IMessageContext messageContext, ILog log)
{
_messageContext = messageContext;
_log = log;
}
public async Task Handle(string message)
{
Console.WriteLine("Handle(string message): {0}", message);
}
}
更新
以下是一种解决方案。这是最好的解决方案吗?
public Handler(IMessageContext messageContext, ILog log)
{
_messageContext = messageContext;
_log = log;
}
public async Task Handle(string message)
{
Console.WriteLine("Handle(string message): {0} ", message);
Console.WriteLine("headers: {0} ", string.Join(' ', _messageContext.Headers));
}
当像下面这样实例化一个 Handler 时,是否可以使用依赖注入来代替?
var Activator = new BuiltinHandlerActivator();
Activator.Register((mc) =>
{
return new Handler(mc, log); //no new?
}
【问题讨论】:
标签: rebus rebus-azureservicebus