2012-06-12 61 views
0

我有一種舊式.NET ASMX(SOAP/XML)web服務,用於通過非常簡單且輕量級的ack響應將數據上傳到中央服務。這已經存在多年,並且運作良好。壓縮發送到ASMX Web服務的數據

但是,現在使用情況已經發生了一些變化,並且正在發送的有效負載數據的總體大小已經增加到發送未經壓縮的數據不再可行/可靠的程度。

所以問題是:我怎樣才能啓用從客戶端發送到web服務的數據壓縮。

在谷歌周圍有無數個關於壓縮服務響應的頁面,但是我需要壓縮請求。

記住,這具有保持作爲ASMX並具有留在.NET 2

編輯:作爲臨時措施我手動壓縮(GZIP)有效載荷之前的數據被髮送,然後解壓另一方面。這工作,但我寧願「傳統的運輸水平」壓縮。

例如:

... 
<soap:Body> 
    <MessageData id="1234"> 
     <SenderIdentifier>foobar</SenderIdentifier> 
     <Payload>....This is what is compressed (GZIP)....</Payload> 
    </MessageData> 
</soap:Body> 
.... 
+0

你明確要壓縮的請求?因爲您也可以考慮壓縮請求中的任何有效負載,但請保留單獨的請求。這將更容易實現,因爲您不會混淆實際的請求/響應。顯然,這假設你能夠改變實現客戶端和服務器端。 – pyrocumulus

+0

這就是我們目前正在做的事情,在發送之前通過GZIP壓縮運行有效負載,然後在接收器中解壓縮。這工作,但如果可能的話,我想使用「運輸級」壓縮 – MrEyes

回答