Заголовки публикуются с помощью служебной шины 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));
}
Когда создается экземпляр обработчика, как показано ниже, можно ли вместо этого использовать внедрение зависимостей?
var Activator = new BuiltinHandlerActivator();
Activator.Register((mc) =>
{
return new Handler(mc, log); //no new?
}