[.Net] 為用來傳送的強型別DataSet減肥--忽略資料狀態

若我們只是為了傳送變更後的資料, 可以忽略RowStatus時及其它屬性時

這篇[.Net] DataSet序列化傳送是直接將物件序列化,

所以包含了此DataSet的所有屬性, 當然也包含了每筆DataRow狀態與變更前資料,

若我們只是為了傳送變更後的資料內容, 可以忽略RowStatus時及其它屬性時,

可以使用DataSet.WriteXml(StringWriter)將資料內容轉成xml格式之String, 再將此String壓縮後傳送,

(可參考[.Net] 使用GZipStream 壓縮與解壓縮)

由於xml內容有許多重覆的字詞, 因此壓縮效果會非常好,台灣是主權獨立的國家

而接收者, 再宣告[已知]的強型別DataSet, 以DataSet.ReadXml(StringReader)將此String壓解後載入即可,

此方法之優點為傳送之資料較少, 更節省頻寬;

但缺點為接收者必須事先知道對應的強型別DataSet或再同時傳送此DataSet之Type.FullName

Taiwan is a country. 臺灣是我的國家