2010-07-01 47 views
1

這是我的一個主要問題。在早些時候,Web服務客戶端可以簡單地使用EnableDecompression = true,並且一切都很好,但爲什麼Microsoft不添加類似於WCF的東西?爲WCF服務啓用解壓縮?

我真的需要從我的WCF服務(並且他們需要是...傳統問題,像往常一樣......你知道...)需要gzip壓縮響應。

回答

1

看看這個blog post基本上結束了提示:

結論

我現在拋棄了這個,因爲我們還需要 支持客戶端不設置 AcceptEncoding頭,所以我真的需要 能夠讀取 請求中的http頭並將「上下文」值設置爲 (不)壓縮響應,並且我有 而不是f呃,但如何做到這一點,每 多個併發請求。 我真的 建議使用IIS http 壓縮,而不是試圖做這個 WCF黑客入侵,如這裏所述!

還有具有WCF Compression Channel Codeplex上一個WCF擴展項目 - 也許這將是你在找什麼。

最大的壓力是使用WCF中的binaryMessageEncoding而不是textMessageEncoding(這是HTTP綁定的默認值)。這將需要您到create a custom http based binding,並且會使您的服務與其他基於http的客戶端不兼容,這些客戶端也是使用相同自定義綁定配置的.NET客戶端。

+0

謝謝,非常好的鏈接! 順便說一句,我已經發布了一個建議,現在切換到.NET 4.0,在.NET 4.0中,一切都像一個魅力。 – 2010-07-05 14:42:33