在网上找了一下资料,用WebService进行大量数据传送的人并不多,主要原因是因为传送速度慢,因为WebService是以XML文件流的方式来传送的,写过XML的人都知道,XML中会有很多冗余的内容,比说字段名,他是每一行就要写一次,如果有约束,还要附加很多描述语句,而且从WebService返回数据时,还要进行64位编码,所以用WebService进行通迅效率很低.找了好久终于找到了一位高手的文章,原来WebService可以通过三步瘦身,但他用的方法是VS2003+wse2.0,而我用的是Vs2008+Wse3.0写法有所不同,于是写下此日志,帮助自己记录,也希望帮到有相关需求的人.
正文:
- 将DataSet设置为用于远程传送的精简二进制模式
- 用压缩程序对数据进行压缩(此处使用微软提供的ICSharpCode.SharpZipLib.dll)
- 使用WSE3.0的MTOM技术优化SOAP.
WSE3.0配置:
安装完WSE3.0后,你会发现安装目录下会有一个WebService3.dll,要将其引入到WebService项目中(不能像VS2005中可以直接创建一个WSE3.0的项目),然后要配置Web.config,置于具体的配置写法可以用Wse3.0安装目录下的WseConfigEditor3.exe进行配置,例如要开通MTOM,则先在General页中勾选Enable this project for Web Service Enhancements,再在Messaging页中Client Mode选择on 然后关闭程序,会提示生成配置文件,打开文件,将相关项目填回Web.config中就可以使用了.
具体Web.config内容如下