Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight二进制在线序列化_C#_Wcf_Silverlight_Serialization_Binary Serialization - Fatal编程技术网

C# Silverlight二进制在线序列化

C# Silverlight二进制在线序列化,c#,wcf,silverlight,serialization,binary-serialization,C#,Wcf,Silverlight,Serialization,Binary Serialization,在即将完成新版本时,我们忽略了WCF服务返回给silverlight客户端的大量XML数据。现在我们正在研究如何缩小数据,使结果不在10-100mb范围内 很明显,二进制序列化是解决方案,使用SharpSerializer将数据序列化为二进制似乎很容易,但通过所有关于二进制序列化的文章和我遇到的其他教程,没有人解决如何通过线路将序列化数据发送到客户端的问题。我想我错过了WCF服务难题中一些明显但关键的部分 希望有人能帮我一些忙。请告诉我是否应该包含更多信息。首先,尝试内置二进制编码(在配置中,请

在即将完成新版本时,我们忽略了WCF服务返回给silverlight客户端的大量XML数据。现在我们正在研究如何缩小数据,使结果不在10-100mb范围内

很明显,二进制序列化是解决方案,使用SharpSerializer将数据序列化为二进制似乎很容易,但通过所有关于二进制序列化的文章和我遇到的其他教程,没有人解决如何通过线路将序列化数据发送到客户端的问题。我想我错过了WCF服务难题中一些明显但关键的部分


希望有人能帮我一些忙。请告诉我是否应该包含更多信息。

首先,尝试内置二进制编码(在配置中,请参阅和)

您的数据可能会缩小,但请注意,内置的二进制编码被设计为尽可能快,而不是尽可能小


如果这还不够,并且您希望使用第三方组件对二进制数据进行序列化,那么您确实可以将此数据作为字节[]返回(但您还需要使用上面的方法来防止WCF对数据进行base64编码以使其成为有效的XML)。您还可以使用流而不是字节[],这不会在Silverlight客户端提供真正的流行为,但可以在服务器端提供真正的流。

二进制序列化返回字节[]。通过有线发送有什么问题吗?这样就可以让服务返回byte[]对象了?谢谢,第二个链接特别有用。我在将它转换到我的工作环境时仍然有问题,但这表明我们甚至没有在web.config中进行绑定和定义服务。一旦我做到了这一点,那就是语法正确的问题。