通过WebService获取的数据必须是能够序列化的数据,有些数据本身是不能序列化的,比如Sybase的DataStore数据,需要进行二进制数据转换,才能通过WebService服务传递数据。
using System.Runtime.Serialization.Formatters.Soap;
DataStore dsData = new DataStore();
byte [] lbSybaseData = null;
System.IO.MemoryStream IOReader = new System.IO.MemoryStream();
new SoapFormatter().Serialize(IOReader, (Sybase.DataWindow.Blob)dsData.GetFullState());
IOReader.Position = 0;
lbSybaseData = IOReader.ToArray();
IOReader.Close();
return lbSybaseData;