WinCE 5.0 裝置透過 GPRS 呼叫 ASP.NET Web Service 進行資料交換,流量成本高,壓縮傳輸為關鍵優化點。
DataSet
[WebMethod(Description = "直接回傳 DataSet")]
public DataSet GetDataSet() {
return GetNorthwindDataSet();
}
private DataSet GetNorthwindDataSet() {
return ExecuteSql("SELECT * FROM Employees");
}
private DataSet ExecuteSql(string sql) {
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(connString)) {
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
adapter.Fill(ds, "table");
}
return ds;
}
| 優點 | 缺點 |
|---|---|
| 開發簡單、標準 HTTP 穿透防火牆 | DataSet 序列化龐大(XML Schema + DiffGram) |
| 支援雙向複雜物件傳輸 | 即使壓縮,大量資料仍較慢 |
| 伺服器端邏輯集中 | 離線場景不支援 |
後續文章將介紹 SQL CE RDA 離線同步方案,解決離線需求。