gpt4 book ai didi

.net - 复杂消息和大众运输反序列化

转载 作者:行者123 更新时间:2023-12-05 00:01:28 26 4
gpt4 key购买 nike

我在 MT 中发布了一条消息,它有几个对象类型的属性,因为我在编译时不知道类型。当我在消费者中收到消息时,我看到对象类型的属性填充了 Newtonsoft JObject 实例。 JObject-Class 驻留在 Masstransit.dll 中的 ILMerged Newtonsoft.Json-assembly 中。此程序集中的 JObject 类标记为内部。每当我尝试将属性值转换为 Newtonsoft.Json 的 Nuget-Assembly 提供的 JObject 时,它都会失败。

所以我的问题是:

  • 将属性值转换为 JObject 的正确方法是什么?
  • 为什么类型转换失败?也就是说,clr 在这里有什么困难?
  • 我可以在我的消费者中获得原始的、未序列化的消息体吗?

  • 谢谢你。

    最佳答案

    如果您在任何消息协定上进行运行时输入,则不能使用 JSON 序列化。如果你想这样做,你需要使用二进制序列化器。

    您无法访问原始的、未序列化的消息体;如果消息无法反序列化,则不会调用用户代码。

    将任何类型标记为 internal 将不允许我们反序列化消息。无法调用构造函数,因此无法创建对象。我不确定二进制序列化器是否可以让您绕过这个限制,而不是我测试过的东西。

    如果您有其他问题,也欢迎您加入邮件列表,https://groups.google.com/forum/#!forum/masstransit-discuss .

    关于.net - 复杂消息和大众运输反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9156861/

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