gpt4 book ai didi

masstransit - 在 MassTransit 消费者中获取动态对象

转载 作者:行者123 更新时间:2023-12-04 00:07:14 25 4
gpt4 key购买 nike

我们对需要保存到某个审计日志数据库的一组事件使用空标记接口(interface)。

但是,在消费者中,消息被强制转换到这个接口(interface),所以我们得到一个空对象。

我们真正需要的是获取“动态”或保留消息正文,以便我们可以“按原样”将其发送到审计数据库,因为我们的数据库可以保存 JSON 文档。但是我们看不到如何从上下文中获取 JSON 格式的消息正文。有可能吗?

最佳答案

如果你真的想提高效率,你可以让你的消费者使用现在的接口(interface),但是,在你的消费者中,从消息上下文中获取 JToken,并使用 JToken 来保存消息的 JSON .这样一来,您的消费者就不需要知道每个对象类型,也不需要知道该对象类型的程序集。

public async Task Consume(ConsumeContext<IEvent> context)
{
ConsumeContext<JToken> jsonContext;
if(context.TryGetMessage(out jsonContext))
{
_eventStore.Save(jsonContext.Message); // the JToken
}
}

关于masstransit - 在 MassTransit 消费者中获取动态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com