.NETremoting中如何使用自定义序列化?我编写了一个自定义序列化例程,它不使用ISerializable或SerialzableAttribute将我的对象保存到文件中。我也在远程处理这些相同的对象,并希望使用相同的序列化技术。但是,我不想实现ISerializable,因为我的序列化方法与我的对象完全分开(我希望它保持这种状态)。有没有一种简单的方法(可能使用远程接收器)我可以获取流并将字节写入其中,另一方面从中读取字节,跳过.NET中的序列化框架?如果你想使用远程处理,那么你只能使用BinaryFormatter。通常您会使用“序列化代理”来提供与格式化程序分开的序列化程序,但据我所知,这不适用于.NET远程处理。然而;如果您编写自己的RPC堆栈(例如通过TCP/IP或HTTP),您将拥有更多控制权。同样,使用WCF,您可以用行为替换序列化程序。我在protobuf-net中使用了这两个技巧(此处为WCF挂钩)。不知道您可以通过远程处理来做到这一点——您可能必须使用ISerializable。如果要显式处理进程之间的流字节,请使用管道。这是命名管道的入门读物,谷歌上有很多。您可以实现IClientFormatterSinkProvider和IServerFormatterSinkProvider并配置通道格式化程序(通过配置)。有关实施细节,请参阅BinaryServerFormatterSinkProvider/BinaryServerFormatterSink和BinaryClientFormatterSinkProvider/BinaryClientFormatterSink。以上是C#学习教程:Howtousecustomserializationduring.NETremoting?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
