我用c# .net 做了一个webservice,这个服务器从数据提取一段记录集保存到dataset,然后将这个dataset序列化为二进制数组传递给客户端,客户端是使用的delphi编写的,现在要实现在客户端将二进制数组反序列化到dataset,请问如何实现这个过程,谢谢各位。
本人有结贴的习惯
------解决方案--------------------------------------------------------
我的建议是 c和s之间 传递的是xml字符串,或者自定义或者就用系统序列化的。
在项目中,我这样使用过!
------解决方案--------------------------------------------------------
很遗憾,没有,delphi中不会存在序列化的东西。
我说的意思是,通过系统自带的序列化功能,首先序列化成xml字符串。 delphi 接收webS的xml字符串,再在delphi中完成解析工作!
请问,你不会用的delphi 7 以上的版本吧?如果是,就当我没说。因为以上版本我没用过!
------解决方案--------------------------------------------------------
框架自带的二进制序列化只适合很少的情况,因此这种情况应该手工序列化到文件流里面,然后传递二进制的byte[]。
例如.NET 2.0序列化的东西,拿到1.1下面去反序列化,它就是出错。而C#和Delphi Win32差了十万八千里,根本就没办法反序列化的。
而手工做的话,应该可以在Delphi中按顺序读出来。
如果你使用的是SOAP或者JSON Formatter,Delphi这边则可以依照SOAP或者JSON解包,也是可以反序列化的。
------解决方案--------------------------------------------------------