WEB Service 下实现大数据量的传输
2008-05-09 16:12
281 查看
Vs2005里面的,查询12000条记录,设置RemotingFormat = SerializationFormat.Binary;
再序列化,通过WebService传输,客户端接收,再反序列化,确实效果大大的优于直接传送DataSet,不仅网络传输中如此,即使本机,性能改善也非常明显.
下面分别是WebService里面的方法和客户端反序列化取DataSet的方法.
1. 服务器上面取数据,填充数据集,转换为二进制格式.
public byte[] BinaryUserSelect(ref string err)
public DataSet GetBinaryUserData()
在这里,有两种方式:可把序列化后的数据用文件形式保存在客户端硬盘;也可用Byte[]方式传回客户端,以下是代码。
web service 端(文件形式)
[WebMethod(Description="循环获取远程DATASET")]
public void SurrogateReadTable(string TableName)
客户端
private void button1_Click(object sender, System.EventArgs e)
web service 端(Byte[]方式)
[WebMethod(Description="获取业务资料远程DATASET")]
public byte[] SurrogateRead1()
客户端
private void button3_Click(object sender, System.EventArgs e)
我个人觉得用byte[]方式会安全些,毕竟不用在客户端产生文件,不用担心数据的安全。
在2.0 中对数据集序列化和反序列化的方法进行了一下简单的封装,使其可以得到重用的效果.见下面的类DatFormatter.
通过GetBinaryFormatData方法可以转换数据集为二进制,在服务器端使用,转换数据集格式。发送,客户端接收,得到二进制格式数据,使用RetrieveDataSet方法,反序列化,得到数据集,进行客户端操作。通过这些简单的操作(序列化和反序列化,将数据压缩),可以使数据集等体积庞大的对象在远程传递中的时间大大减少,并且可以减少网络中断等问题对程序的影响。
1using System;
2using System.IO;
3using System.Data;
4using System.Runtime.Serialization;
5using System.Runtime.Serialization.Formatters.Binary;
6
7namespace Common
8
再序列化,通过WebService传输,客户端接收,再反序列化,确实效果大大的优于直接传送DataSet,不仅网络传输中如此,即使本机,性能改善也非常明显.
下面分别是WebService里面的方法和客户端反序列化取DataSet的方法.
1. 服务器上面取数据,填充数据集,转换为二进制格式.
public byte[] BinaryUserSelect(ref string err)
public DataSet GetBinaryUserData()
在这里,有两种方式:可把序列化后的数据用文件形式保存在客户端硬盘;也可用Byte[]方式传回客户端,以下是代码。
web service 端(文件形式)
[WebMethod(Description="循环获取远程DATASET")]
public void SurrogateReadTable(string TableName)
客户端
private void button1_Click(object sender, System.EventArgs e)
web service 端(Byte[]方式)
[WebMethod(Description="获取业务资料远程DATASET")]
public byte[] SurrogateRead1()
客户端
private void button3_Click(object sender, System.EventArgs e)
我个人觉得用byte[]方式会安全些,毕竟不用在客户端产生文件,不用担心数据的安全。
在2.0 中对数据集序列化和反序列化的方法进行了一下简单的封装,使其可以得到重用的效果.见下面的类DatFormatter.
通过GetBinaryFormatData方法可以转换数据集为二进制,在服务器端使用,转换数据集格式。发送,客户端接收,得到二进制格式数据,使用RetrieveDataSet方法,反序列化,得到数据集,进行客户端操作。通过这些简单的操作(序列化和反序列化,将数据压缩),可以使数据集等体积庞大的对象在远程传递中的时间大大减少,并且可以减少网络中断等问题对程序的影响。
1using System;
2using System.IO;
3using System.Data;
4using System.Runtime.Serialization;
5using System.Runtime.Serialization.Formatters.Binary;
6
7namespace Common
8
相关文章推荐
- WEB Service 下实现大数据量的传输
- Web Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输 (转)
- WEB Service 下实现大数据量的传输|WEB Service,大数据量
- WEB Service 下实现大数据量的传输
- [转]WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输WEB Service,大数据量(简单方法)
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输|WEB Service,大数据量(简单方法)
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输(转)
- WEB Service 下实现大数据量的传输
- WEB Service 下实现大数据量的传输
- Web Service下实现大数据量的传输