行動裝置資料存取須面對頻寬有限、處理器較慢、離線操作等挑戰。本文示範使用 .NET Compact Framework 2.0 SP2 + Windows Mobile 5.0/6 SDK,建立資料驅動 Smartphone 應用程式,透過 IIS Web Service 以 DataSet、自訂物件、泛型 List<T> 三種方式與伺服器交換資料。
關鍵步驟:工具 → 裝置模擬器管理器 → 連接模擬器 → 右鍵「插入座座」啟用網路 → VS 裝置工具列選擇目標模擬器。
[WebMethod]
public Customer GetCustomer(string customerID) { /* 回傳單一自訂實體 */ }
[WebMethod]
public DataSet GetCustomerDataSet(string customerID) { /* 回傳 DataSet */ }
[WebMethod]
public List<Customer> FindCustomerList() { /* 回傳泛型清單 */ }
Customer 實體BindingSource (customerBindingSource)DisplayMember=CompanyName, ValueMember=CustomerIDprivate void CustomerPicker_Load(object sender, EventArgs e) {
using (var svc = new RemoteService.CustomerWebService())
customerBindingSource.DataSource = svc.FindCustomerList();
}
GetCustomer → 設定 customerBindingSource.DataSource移除 BindingSource,直接程式碼賦值:
using (var svc = new RemoteService.CustomerWebService()) {
var customer = svc.GetCustomer(_customerID);
companyNameTextBox.Text = customer.CompanyName;
customerIDLabel1.Text = customer.CustomerID;
// ...
}
儲存時反向提取控制項值回實體。建議將實體存為表單私有欄位便於存取。
正確建置環境是行動開發成功關鍵。BindingSource 簡化繫結但需權衡效能;手動繫結控制力更強。核心原則:只傳輸必要資料、善用壓縮、優雅處理離線狀態。完整範例碼可下載參考。