2009-12-02 90 views
1

在我的WCF解决方案中,服务器不需要知道数据类型。客户端将发送一个类型并接收相同的类型。有没有办法在WCF中进行自定义序列化?

出于性能的考虑,我认为我可以在客户端代理手动实现序列化,避免了在服务器端WCF内建的序列化,但有什么办法实现只配置WCF正确相同的目标?

回答

0

只是让你来回传递给服务器的类型具有像byte []属性的东西。然后你可以在客户端序列化你已知的类型。服务器将只需要知道不透明字节

1

WCF的整个基本体系结构基于客户端调用服务器,发送一个序列化的消息。

这是WCF的基础 - 消息传递。你不能关掉它。你可以调整它 - 但你不能删除它。

至于自定义序列 - 退房亚伦Skonnard在MSDN杂志优秀Serialization in WCF文章。

你可以去尽可能创建自己的自定义序列化的WCF - 如果你真的想 - 但为什么?

为什么你作为一个开发者或小店里要在微软的“竞争”一个相当可观的团队,并再次重新发明系列化的车轮?我更愿意专注于微软无法为我解决的真正商业问题,但让“基础设施胶水”成为他们的游戏 - 他们擅长,而且他们拥有更多的人力和资源!

+0

但你可以* *指定一个相对无关的方式传递的数据类型,传递一个对象实例,byte []数组或类似。 – 2009-12-02 20:15:22

+0

是的 - 但即使如此,这个**会在某个时间序列化成一条消息。您无法通过某种形式的序列化将对象从客户端传递到服务器。 – 2009-12-02 20:18:21

+0

我不认为我可以在可用时间内创建任何接近内置序列化的东西。但我想知道内置的序列化应该如我所要求的那样进行配置。 – 2009-12-02 20:33:23

1

我认为protobuf-net自定义序列化。如果我看看它的源代码,我可以了解如何实现自己的目标

相关问题