MassTransit用元数据创建请求



我在我的项目(clean Architecture)中使用了MassTransit包。

在api层,我编写自定义授权过滤器,在HttpContext中存在我的CurrentUserInfo数据。

那么我需要UserInfo在应用程序层中,其中IConsumer存在,如下面的代码。

现在哪一种方法更好:

  • 添加元数据到我的请求客户端?
  • 声明通用类并注入到已实现的IConsumer类中。
public class OptionCreateConsumer : IConsumer<OptionCreateRequest>
{
private readonly IMapper _mapper;
private readonly IUnitOfWork _unitOfWork;
public OptionCreateConsumer(IMapper mapper, IUnitOfWork unitOfWork)
{
_mapper = mapper;
_unitOfWork = unitOfWork;
}
}

在限定范围的过滤器示例中,您可以看到如何使用Send/Publish和Consume过滤器捕获Token对象,并将其从请求客户机传递给消费者。

添加了TokenActionFilter,以便它也有作用域,将传入的数据拉入Token(在您的情况下,将是UserInfo对象)。

为MassTransit配置的过滤器用于将该数据添加到报头中,以便下游消费者能够使用该报头初始化Token(或针对您的场景的UserInfo)。

相关内容

  • 没有找到相关文章

最新更新