提升Web Services性能原来不是通过传说中的压缩Soap请求和响应消息来实现的
原来台湾MSDN有更有效的解决办法,
http://www.microsoft.com/taiwan/msdn/columns/adonet/AdoNet_20041231.htm
通过把DataSet序列化成XML格式后的数据格式化成二进制,减小网络间要传递的数据量来实现,不过1.x版本的.net Framework需要一个类: DataSetSurrogate 类, 2.0将会直接集成。
http://www.microsoft.com/taiwan/msdn/columns/adonet/AdoNet_20041231.htm
通过把DataSet序列化成XML格式后的数据格式化成二进制,减小网络间要传递的数据量来实现,不过1.x版本的.net Framework需要一个类: DataSetSurrogate 类, 2.0将会直接集成。
SoapFormatter | BinaryFormatter | |
Dataset 序列化後Bytes數 | 1,953,078 | 1,448,399 |
DataSetSurrogate 序列化後Bytes數 | 2,371,942 | 575,684 |
这个数据是令人兴奋的。
当然,如果你愿意使用第三方压缩类库再压缩和解压缩一次,也不是不可以,gaga.
相关的文章:
1. C# 使用 J# 类库中的 Zip 类压缩文件和数据(http://www.microsoft.com/china/msdn/library/langtool/vcsharp/miszipcompression.mspx)
2. 通过压缩SOAP改善XML Web service性能(http://blog.csdn.net/rainsoft/archive/2004/02/29/5218.aspx)