• λ我爱Aspx >> Asp.Net >> 通过压缩SOAP改善XML Web service性能
  • 通过压缩SOAP改善XML Web service性能

  • :aspxer  Դ:internet  :2007-5-15 20:45:55  ؼ:web,xml
  • 压缩文本是一个可以减少文本内容尺寸达80%的过程。这意味着存储压缩的文本将会比存储没有压缩的文本少80%的空间。也意味着在网络上传输内容需要更少的时间,对于使用文本通信的客户端服务器应用程序来说,将会表现出更高的效率,例如XML Web Services。

    本文的主要目的就是寻找在客户端和服务器之间使交换的数据尺寸最小化的方法。一些有经验的开发者会使用高级的技术来优化通过网络特别是互联网传送的数据,这样的做法在许多分布式系统中都存在瓶颈。解决这个问题的一个方法是获取更多的带宽,但这是不现实的。另一个方法是通过压缩的方法使得被传输的数据达到最小。

    当内容是文本的时候,通过压缩,它的尺寸可以减少80%。这就意味着在客户端和服务器之间带宽的需求也可以减少类似的百分比。为了压缩和解压缩,服务端和客户端则占用了CPU的额外资源。但升级服务器的CPU一般都会比增加带宽便宜,所以压缩是提高传输效率的最有效的方法。

    XML/SOAP在网络中

    让我们仔细看看SOAP在请求或响应XML Web service的时候,是什么在网络上传输。我们创建一个XML Web service,它包含一个 add 方法。这个方法有两个输入参数并返回这两个数的和:

    <WebMethod()> Public Function add(ByVal a As Integer, ByVal b As _

    Integer) As Integer

    add = a + b

    End Function

    当 XML Web service 消费端调用这个方法的时候,它确实发送了一个SOAP请求到服务器:

    <?xml version="1.0" encoding="utf-8"?>

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <soap:Body><add xmlns="1020 http://tempuri.org/"><a>10</a><b>20</b></add>

    </soap:Body></soap:Envelope>

    服务端使用一个SOAP响应来回应这个SOAP请求:

    <?xml version="1.0" encoding="utf-8"?>

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    Ҷƪл˵?
  • һƪ通过Web Services上传和下载文件
    һƪ新浪短信Web Service