2010-12-21 56 views
1

我創建了一個WCF服務,該服務公開了一個對象圖,該對象圖在服務啓動並運行時預計會增加大小。在播放一些測試數據(85k)時,如果實時播放的數據較小,我會達到默認的65k郵件大小限制。在網上快速瀏覽顯示,它足夠簡單,可以在配置中進行擴展。我是否應該通過wcf服務壓縮暴露的數據?

當我創建服務和使用它的客戶端時,我想知道在我發送數據之前壓縮數據是否有附加價值。經過一個簡短的測試,測試數據縮減到7k左右,所以這看起來會有助於通過網絡發送消息,並增加我可以發送的數據量。

該服務在第一次調用之前預先準備好數據,因此每次調用都沒有因壓縮而產生的初始開銷。

爲了實現可擴展性並嘗試優化性能,是否這樣做是一個好主意,或者這會增加不需要的複雜性?

回答

1

通過閱讀你的文章,似乎你能夠很容易地實現這種壓縮。

如果您控制雙方,當您從中獲得大量帶寬優勢時,添加一層壓縮/解壓並不會真正增加一般場景的複雜性。

您可以通過實施InterceptorDecorator等模式來儘可能降低複雜度。

1

只要你不使用一個不明顯的壓縮格式,我認爲你不會增加任何可觀的複雜性。一行或兩行代碼。也許你可以添加一個參數給服務調用,讓客戶端選擇壓縮或未壓縮的數據。

0

你們能不能更具體一些,我應該怎麼做才能加密&壓縮和解密&在兩端成功解壓數據? Algo最適合壓縮大型數據壓縮和解壓縮以及壓縮和解壓縮小數據,以便在客戶端和服務器之間高效地傳輸數據。

@decyclone:什麼是攔截器或修飾器?請具體明確。

相關問題