如何在 .NET 远程处理期间使用自定义序列化?

2024-04-18

我编写了一个自定义序列化例程,它不使用 ISerialized 或 SerialzableAttribute 将对象保存到文件中。

我还远程处理这些相同的对象,并希望使用相同的序列化技术。但是,我不想实现 ISerialized,因为我的序列化方法与我的对象完全解耦(并且我希望它保持这种状态)。

有没有一种简单的方法(可能使用远程处理接收器),我可以获取一个流并向其写入字节,并在另一端从中读取字节,从而跳过.NET中的序列化框架?


如果你想使用remoting那么你就被限制为BinaryFormatter。通常,您可以使用“序列化代理”来提供与格式化程序分开的序列化程序,但据我所知,这不适用于 .NET 远程处理。

然而;如果您编写自己的 RPC 堆栈(例如,通过 TCP/IP 或 HTTP),您将拥有更多控制权。同样,使用 WCF,您可以通过行为替换序列化器。我使用这两个技巧protobuf网络 http://code.google.com/p/protobuf-net/(WCF 挂钩are here http://code.google.com/p/protobuf-net/source/browse/#svn/trunk/protobuf-net/ServiceModel).

不确定你可以这样做remoting不过 - 你可能必须使用ISerializable.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 .NET 远程处理期间使用自定义序列化? 的相关文章

随机推荐