【Winform】Winform + Webservice提高数据传输速度

找了好久找到的,随不是很明显吧。

1. 服务器上面取数据,填充数据集,转换为二进制格式.

2. 通过WebService把byte[]格式的数据发送到客户端

3.客户端接收到byte[]格式的数据,对其进行反序列化,得到数据集


    ''' <summary>
    
''' Serialize the Data of dataSet to binary format
    
''' </summary>
    
''' <param name="dsOriginal"></param>
    
''' <returns></returns>
    Public Function GetBinaryFormatData(ByVal dsOriginal As DataSet) As Byte()
        
Dim binaryDataResult As Byte() = Nothing
        
Dim memStream As New IO.MemoryStream()
        
Dim brFormatter As Runtime.Serialization.IFormatter = New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        dsOriginal.RemotingFormat 
= SerializationFormat.Binary

        brFormatter.Serialize(memStream, dsOriginal)
        binaryDataResult 
= memStream.ToArray()
        memStream.Close()
        memStream.Dispose()
        
Return binaryDataResult
    
End Function

    
''' <summary>
    
''' Retrieve dataSet from data of binary format
    
''' </summary>
    
''' <param name="binaryData"></param>
    
''' <returns></returns>
    Public Function RetrieveDataSet(ByVal binaryData As Byte()) As DataSet
        
Dim dataSetResult As DataSet = Nothing
        
Dim memStream As New IO.MemoryStream(binaryData)
        
Dim brFormatter As Runtime.Serialization.IFormatter = New Runtime.Serialization.Formatters.Binary.BinaryFormatter()

        
Dim obj As Object = brFormatter.Deserialize(memStream)
        dataSetResult 
= DirectCast(obj, DataSet)
        
Return dataSetResult
    
End Function