gpt4 book ai didi

.net - .NET 二进制格式化程序会多次调用 GetObjectData 是否有任何原因?

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

我们正在使用二进制格式化程序来序列化对象图,其中多个路径可能引用相同的对象。然而,在序列化期间,特定对象的 GetObjectData 会被多次调用。当尝试使用使用更简单对象的测试样本时,它会被调用一次,而与它在对象图中出现的次数无关。是否有任何原因为什么会多次访问同一个对象,并且在序列化期间可能会在 Serializable 对象上调用 .GetObject 数据?发生这种情况时,反序列化似乎会因 FixUp 错误而失败。

最佳答案

找到问题和解决方案。这是 .NET 中的一个错误。当存在循环引用并使用代理时,在反序列化过程中可能会出现问题。修复是使用 FormatterServices.GetSurrogateForCyclicalReference() 包装内部序列化代理。它现在似乎可以工作,但我会尝试更多用例以排除任何其他问题。希望能帮助某人并节省时间

关于.net - .NET 二进制格式化程序会多次调用 GetObjectData 是否有任何原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878860/

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