`

转 使用WebService压缩传输的心得

阅读更多
参考了 博客园 黎波的博客 在此表示感谢! 现在对WebService技术的使用已经非常多。既然是Web技术,就免不了要进行数据传输,比如传输文本、图片、Zip压缩包等等。在网络环境比较好、数据量小的情况下,传输的方式可以忽略不计,你可以选择任意的方式,不要考虑优化的问题,可以将图片、包变成二进制流进行传输,可以从数据库读出数据来,以DataSet形式进行传输。 但是如果网络条件不好,或者数据量很大的情况下,应该如何做呢? 以传输DataSet为例,解决方案如下: 1、从数据库读取DataSet 2、使用DataSetSurrogate类序列化DataSet,转换成二维数组,一般能变成原来大小的1/3 3、使用SharpZipLib压缩 此时如果在网络上传输字节数组的话,又会讲过Base64编码,造成大小的反弹 4、使用Web Services Enhancements的WS-Attachment进行传输。将包放到SOAP附件里,而不是信封里,不用经过XML序列化。封成DIME消息(Direct Internet Message Encapsulation) 这样,原来的大数据就可以被封成很小的数据了。传输也变得简单、迅速。 ======================================================= 使用DIME进行传输的必要条件 1、安装Microsoft WSE 2.0 SP3.msi,可以在微软的网站上下 2、服务器端实现 1) 添加Microsoft.Web.Services2.dll Microsoft.Web.Services2.dll 引用 2) 修改修改Web.config Web.config 配置文件配置文件 <configuration><system><webservices><soapextensiontypes><add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0"></add></soapextensiontypes></webservices></system></configuration> 3)WebMethod实现 using Microsoft.Web.Services2.Dime; using Microsoft.Web.Services2; [WebMethod] public void CreateDimedImage() { SoapContext respContext = ResponseSoapContext.Current; DimeAttachment dimeAttach = new DimeAttachment( "image/gif", TypeFormat.MediaType, @"C:\images\test.gif"); respContext.Attachments.Add(dimeAttach); } 3、客户端引用 using Microsoft.Web.Services2.Dime; using Microsoft.Web.Services2; 改变改变Reference.cs Reference.cs 文件中代理类的基类为文件中代理类的基类为 Microsoft.Web.Services2.WebServicesClientProtocol 如何找到Reference.cs? 在VS的资源管理器上选择“显示所有文件”,在Web Service下的Reference下有 实现例子 private void btnGetImage_Click(object sender, EventArgs e) { MyDimeServiceWse svc = new MyDimeServiceWse(); svc.CreateDimedImage(); if (svc.ResponseSoapContext.Attachments.Count == 1) { MessageBox.Show("Got it!\n"); pbDime.Image = new Bitmap( svc.ResponseSoapContext.Attachments[0].Stream); } }
分享到:
评论
1 楼 kenail 2013-11-10  
格式太乱了。

相关推荐

    WebService压缩方法整合

    2. **数据压缩**:在WebService中,数据压缩是提高传输效率的关键。通过压缩传输的数据,可以减少网络带宽的使用,降低延迟,提高服务响应速度。常见的压缩算法有GZIP和DEFLATE,它们可以在服务器和客户端之间协商...

    .NET_Webservice数据压缩

    .NET Webservice数据压缩是针对基于.NET框架的Web服务在传输大量数据时的一种优化技术。它通过使用内置的类库,如GZipStream,对XML格式的数据进行压缩,从而减少网络带宽消耗,提高数据传输效率。 在.NET ...

    java 利用webservice传输文件

    在“java 利用webservice传输文件”的场景中,JACOB可能被用来执行以下任务: 1. **文件操作**:Windows系统有许多内置的COM组件,如Scripting.FileSystemObject,可用于读写文件、创建目录等。通过JACOB,Java程序...

    在传输层上压缩WebService的请求和响应

    在传输层上压缩WebService的请求和响应是提高网络通信效率的一种常见策略,特别是在处理大量数据交换或带宽有限的环境中。这一技术旨在减小通过网络传输的数据量,从而加快数据传输速度,降低服务器负载,并节省网络...

    webservice文件传输

    ### WebService 文件传输知识点 #### 一、概述 在当今高度互联的世界中,文件传输是一项基本而重要的功能。Web服务(WebService)作为一种提供应用程序间通信的技术,在文件传输方面发挥着重要作用。通过...

    webservice 传输文件

    在“webservice传输文件”的场景中,我们主要探讨的是如何利用WebService技术来实现在网络环境中发送和接收文件。这个过程通常涉及XML(可扩展标记语言)、SOAP(简单对象访问协议)以及WSDL(Web服务描述语言)等...

    使用WebService上传一个附件或者多个附件的实现方式

    在本文中,我们将深入探讨如何使用WebService来上传一个或多个附件,特别是处理大附件的情况。这一主题对于构建分布式系统、实现跨平台文件共享以及在不同应用间传递数据至关重要。 首先,让我们理解什么是...

    WebService CXF --- 传输文件MTOM

    在"WebService CXF --- 传输文件MTOM"这个主题中,我们将深入探讨CXF框架如何利用Message Transmission Optimization Mechanism (MTOM)高效地传输大文件。 MTOM是W3C制定的一种优化Web服务消息传输的技术,特别适用...

    《实战 Web Service 压缩传输》

    本实践指南《实战 Web Service 压缩传输》着重探讨了在传输大量数据时如何利用压缩技术来优化Web Service的性能和减轻网络负担。 首先,我们要理解Web Service的基本工作原理。Web Service是通过SOAP(Simple ...

    webservice 心得

    ### WebService 心得体会 #### 一、WebService 概述与HTTP协议的应用 WebService是一种跨语言、跨平台的应用程序接口(API),它允许不同系统之间进行数据交换和功能调用。WebService通常通过HTTP协议来实现,这是...

    C# webservice大文件传输实例源码

    在IT行业中,大文件传输是一项常见的需求,尤其是在网络服务中,如C#的WebService应用。本实例源码提供了一个解决方案,允许用户通过C#编写的WebServcie进行大文件的上传和下载。以下是对这个实例的详细解读: 1. *...

    PB_WebService中必用的压缩解压技术

    总的来说,PB_WebService中必用的压缩解压技术是为了优化数据传输,减少网络负载,提高服务效率。开发者需要根据实际需求选择合适的压缩算法,并熟练掌握Blob对象的处理,以实现高效且安全的Web服务。在实践中,可以...

    使用Webservice实现大容量附件上传

    Web服务(Webservice)是一种跨平台、跨语言的通信协议,它允许不同系统之间的应用程序进行交互。本文将深入探讨如何利用Web服务来实现大容量附件的上传。 一、Web服务简介 Web服务基于XML(Extensible Markup ...

    WebService传递大数据的实现

    压缩数据不仅可以减少网络传输的时间,还可以降低带宽使用,提高整体性能。 XML数据压缩是另一种关键的技术。由于XML数据通常包含大量的冗余字符和结构,对其进行压缩可以显著减小其大小。GZIP是最常用的XML压缩...

    PHP webservice传输附件和文章源码

    综上所述,解决PHP WebService传输附件的关键在于处理二进制数据,可能涉及base64编码、多部分/混合内容类型,以及可能的WebDAV集成。理解这些概念和技术对于构建能够可靠传输复杂数据的PHP WebService至关重要。

    c# 运用get/post 和使用webservice

    c# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservice

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    使用webservice传输xml数据(重点掌握) 第二天: Jaxws的深入开发: 常用注解 测试jaxws传输复杂对象类型 CXF开发webservice: CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点)...

    java调用json参数的webservice

    为了使得Java客户端能够调用WebService服务,需要使用一些工具,例如JAX-WS(Java API for XML Web Services),它是Java SE的一部分,用于创建WebService客户端和服务端。 综上所述,通过Java调用带有JSON参数的...

    C# WebService 客户端 服务器 Get Post

    本篇将详细阐述C# WebService客户端和服务器如何利用GET和POST方法进行数据传输。 首先,我们要了解什么是Web Service。Web Service是一种基于互联网的标准协议,它允许不同系统之间的应用程序通过网络共享数据和...

Global site tag (gtag.js) - Google Analytics