我發送一個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