单例obejct到非单元对象的序列化和反序列化

时间:2017-01-29 02:46:42

标签: c# networking serialization singleton deserialization

是否可以在客户端创建单例类对象,将其序列化为网络流,并在服务器端将对象反序列化为同一个类,只是在服务器端它不是单个对象?

1 个答案:

答案 0 :(得分:0)

除非你打算使用二进制序列化程序,否则因为XML序列化是最好的,但需要一个公共的无参数构造函数来破坏你的单例。

您可以使用反射将单例转换为XML,然后将其解析为服务器...如果您要求将对象的二进制文件发送到服务器并使其成为不属于同一类型的对象,则您需要使用反射或通过创建新对象来解析信息。就像评论所暗示的那样有点模糊,但我个人会做的是将单例属性传递给XML对象并将其发送到服务器。它是最容易使用的,虽然我知道二进制序列化有性能提升..除非你是流式传输,否则它可能不值得。

所以简短的答案是否定的......您无法将对象序列化为仅反序列化同一个对象,但却是另一个对象。最好它仍然是一个单例,并且需要进行一些解析。