通過抓包知道WCF在送出、傳回資料的時候大多使用XML進行資料互動,如果傳回DataTable那麼這些資料将變得很大,通過查詢找到一個對資料壓縮的方法:
<a href="http://msdn.microsoft.com/zh-cn/library/ms751458(v=vs.110).aspx">http://msdn.microsoft.com/zh-cn/library/ms751458(v=vs.110).aspx</a>
新增項目GZipEncoder,GzipEncoder中增加三個檔案 :

GZipMessageEncoderFactory.cs
GZipMessageEncodingBindingElement.cs
GZipMessageEncodingBindingElementImporter.cs
WCF Server 和 Client 都引用項目 GZipEncoder,然後修改config檔案
Server web.config 中增加:
用戶端的app.config 配置:
這樣就完成了WCF的資料壓縮,其他代碼都不用動,直接可以使用
通過抓包看到Send和Recv的資料都為 application/x-gzip 格式
另外出現第一次調用WCF很慢的解決方法是将 useDefaultWebProxy 這個屬性改成false,不讓它找代理。這樣就會在程式第一次調用WCF的時候快很多。