我们可以使用以下方式设置Consume Observer
busControl.ConnectConsumeObserver(container.GetInstance<MessageConsumerInterceptor>());
我想将Scope生活方式应用于MessageConsumerInterceptor,以便我可以在使用或处理消息之前填充/初始化某个对象。我可以通过消息处理程序或使用者访问该填充的对象。现在我如何使用MassTransit实现这一目标?
我期待你的帮助或可能的建议。
提前致谢。
答案 0 :(得分:0)
观察者不是这个的好选择。观察者只观察,他们不应该改变任何状态或对消息处理产生影响。
您正在关注的是中间件。
检查此documentation page有关如何创建和应用自定义中间件的信息。
您将在过滤器中获得ConsumeContext
作为Send
方法参数,并且您可以使用方法GetOrAddPayload<T>
和TryGetPayload
向上下文添加内容,因此您可以稍后在您的消费者中获取此数据。