若我們只是為了傳送變更後的資料, 可以忽略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. 臺灣是我的國家