0
消息消息过程中有什么方法可以修改消息的中间件标题吗? 正如我所看到的ConsumeContext上的Headers接口不提供任何方式来设置标题,有没有其他方式来实现呢? 谢谢!修改消费中间件的消息标题
消息消息过程中有什么方法可以修改消息的中间件标题吗? 正如我所看到的ConsumeContext上的Headers接口不提供任何方式来设置标题,有没有其他方式来实现呢? 谢谢!修改消费中间件的消息标题
在使用中间件进行消费时,您无法添加标头,但是,您可以将有效载荷添加到可在流水线中其他位置使用的上下文。
举例来说,如果你有一个AuthorizationContext
情况下,你可以把它的中间件组件中增加了有效载荷:
public Task Send(ConsumeContext context, IPipe<ConsumeContext> next)
{
context.GetOrAddPayload(() => CreateAuthorizationContext());
return next.Send(context);
}
之后,上下文的另一个组件或用户可以访问它:
public Task Consume(ConsumeContext<MyMessage> context)
{
var authorizationContext = context.GetPayload<AuthorizationContext>();
if(authorizationContext.IsAdmin)
return UpdateSomething(context);
throw new NotAuthorizationException("Booo!");
}