我发送一个XMLDocument到我的webservice(.asmx),当我通过xmldocument.outerxml.tostring()检查该xmldocumetn的文件大小时,它是来到433434(我不知道什么它代表...它是以字节为单位) 所以我想压缩这个数据从客户端,并将其发送到webservice,而不是在我的本地硬盘上保存为XML文件.. 任何人都可以在这个... 在此先感谢压缩数据发送到Webservice
2
A
回答
0
xmldocument.OuterXml.ToString().Length
将返回xml字符串的长度,就像"something".Length
将返回9.所以不,它不是以字节为单位。
字节的实际大小将取决于你的编码,为例,你可以使用:
System.Text.ASCIIEncoding.Unicode.GetByteCount(s);
System.Text.ASCIIEncoding.ASCII.GetByteCount(s);
...
根据所使用的编码。
EDIT1: 数据量是否显着?假设你通过网络发送它,你有很多选择来在发送之前压缩数据。
您可以使用自己的自定义编码来尽可能减少发送的数据,比如说将常量节点名称索引为“a”,“b”...并在之后发送地图。您也可以尝试以块的形式发送它。
如果文件大小是因为超时的问题,我建议寻找到webservice.timeout财产On MSDN
0
你可能想调查System.IO.Compression.GZipStream。您的Web服务需要知道使用相同的类来解压缩它。
0
在压缩之前和之后做一些基准测试。您可能会发现,在管道两端的压缩/解压缩比通过从有效负载中剔除一些字节所节省的时间要多得多。你需要找到压缩的最佳位置,比开销节省更多的时间(1/2 MB,特别是在局域网上,流量不是很大,除非你真的抽出这些XML文档)。
0
我以前对.NET压缩库有一些不好的经验,所以我推荐SharpZipLib。你需要改变你的web方法实现来接受byte[]
;
您也可以使用TCP绑定作为WCF服务访问该服务,因此它将消耗更少的带宽。在与您的Web方法签名混淆之前,您应该考虑此选项。
相关问题
- 1. Asmx Webservice压缩/解压缩?
- 2. 压缩从netty发送的数据
- 3. 在发送之前压缩数据
- 4. 压缩套接字发送数据
- 5. c#WebService压缩
- 6. 使用post发送数据到webservice
- 7. 压缩请求数据发送到Django服务器
- 8. 压缩发送到ASMX Web服务的数据
- 9. 如何将压缩数据发送到Azure流分析?
- 10. 从NSIS发送到压缩(压缩)文件夹
- 11. 发送参数到webservice
- 12. 发送xhr文章压缩
- 13. 压缩HTTP发布从浏览器发送的数据
- 14. AV在压缩并发送TFDDataset的数据后发布表单
- 15. 发送XML到WebService
- 16. ASP.NET WebService响应压缩
- 17. WCF Webservice和Silverlight压缩
- 18. ASP.NET 3.5 Flex的WebService压缩
- 19. 数据压缩
- 20. 压缩数据
- 21. 压缩数据
- 22. 新的GitHub推送到主 - >将其压缩,发送到S3
- 23. 客户端数据压缩/解压缩?
- 24. JavaScript:数据流压缩/解压缩
- 25. 数据压缩和解压缩
- 26. 如何压缩数据以通过电子邮件发送
- 27. 通过套接字发送压缩数据
- 28. 压缩通过C#套接字发送的数据?
- 29. 如何发送在asp.net中的压缩数据
- 30. TCP Socket以GZIP压缩格式发送数据
如何在发送到webservice之前压缩数据? – Sathish 2010-02-01 04:10:02