WCF二进制序列化和非.NET客户端

WCF二进制序列化和非.NET客户端,wcf,serialization,binary,Wcf,Serialization,Binary,有没有任何方法可以使用使用二进制序列化进行通信的WCF服务?序列化的格式是什么,我是否可以以某种方式反序列化.NET序列化对象(使用非.NET)?如果“二进制序列化”是指使用二进制编码的端点,那么是的,您可以以某种方式反序列化非.NET客户端上的.NET对象-该格式已公开记录(见下文)。但是,AFAIK没有用于非.NET客户机的库可以反序列化该格式的对象,所以只能靠自己。如果可以,您确实应该考虑添加另一个在“正常”XML中公开数据的端点。 二进制格式(同样,如果您使用的是二进制编码器的话)实际上

有没有任何方法可以使用使用二进制序列化进行通信的WCF服务?序列化的格式是什么,我是否可以以某种方式反序列化.NET序列化对象(使用非.NET)?

如果“二进制序列化”是指使用二进制编码的端点,那么是的,您可以以某种方式反序列化非.NET客户端上的.NET对象-该格式已公开记录(见下文)。但是,AFAIK没有用于非.NET客户机的库可以反序列化该格式的对象,所以只能靠自己。如果可以,您确实应该考虑添加另一个在“正常”XML中公开数据的端点。 二进制格式(同样,如果您使用的是二进制编码器的话)实际上只是XML的一种格式。因此,不需要将数据序列化为

<Person xmlns="http://my.namespace.com">
    <Name>John Doe</Name>
    <Age>29</Age>
</Person>

无名氏
. 二进制格式还定义了一个(用于从流中消除重复的或常用的字符串),您可能还需要查看“SOAP数据结构”协议。

如果“二进制序列化”是指具有二进制编码的端点,那么是,您可以以某种方式反序列化非.NET客户端上的.NET对象-格式已公开记录(见下文)。但是,AFAIK没有用于非.NET客户机的库可以反序列化该格式的对象,所以只能靠自己。如果可以,您确实应该考虑添加另一个在“正常”XML中公开数据的端点。 二进制格式(同样,如果您使用的是二进制编码器的话)实际上只是XML的一种格式。因此,不需要将数据序列化为

<Person xmlns="http://my.namespace.com">
    <Name>John Doe</Name>
    <Age>29</Age>
</Person>

无名氏

. 二进制格式还定义了一个(用于从流中消除重复或常用的字符串),您可能还需要查看“SOAP数据结构”协议。

当您必须使用其他平台的服务时,为什么不使用另一个序列化?你到底指的是什么样的序列化?我想知道我是否可以使用二进制编码的现有服务(正如Carlos指出的),而不必对它们做任何工作。对于我的特定情况,最好的解决方案可能是向服务开发人员要求使用其他更易于使用的编码的另一个端点。谢谢你和卡洛斯!当您必须使用来自其他平台的服务时,为什么不使用另一个序列化呢?你到底指的是什么样的序列化?我想知道我是否可以使用二进制编码的现有服务(正如Carlos指出的),而不必对它们做任何工作。对于我的特定情况,最好的解决方案可能是向服务开发人员要求使用其他更易于使用的编码的另一个端点。谢谢你和卡洛斯!