2009-12-09 34 views
1

應用類型:Silverlight的:與RDBMS在後端如何只從客戶端的數據傳輸對象傳遞髒值服務器端的領域模型

開發平臺

客戶 3層Web應用程序3/WPF 服務::與基本的HTTP綁定

問題定義WCF Web服務嘗試開發具有客戶端業務處理和數據密集型對象傳遞給客戶端的應用程序。一旦在客戶端屏幕上查看和編輯對象,應將其傳遞到服務器端的服務以進行保存。問題是因爲數據量很大,我不想將整個對象再次傳遞給服務。例如: - 如果每行有10行和10列的集合,並且只更新2列。我應該只能通過數據。

問: 這是一個很好的做法,如果是最新最好的方式來實現

嘗試瞭解決方案 我已經嘗試了兩種解決方案 1:與事件委託該做的變更通知制定者 2:使用自定義數據類型

回答

0

如果您使用WCF自動生成的Web服務,那麼您幾乎不能傳輸已知的類;從而傳輸更小的信息塊,您將需要專門爲此目的定義一些新類。我相信這些對象通常被稱爲DTO(數據傳輸對象)。因此,對於10 x 10矩陣的場景,您的DTO可能會包含{x,y,value}三元組列表。

如果您使用的是REST Web服務(並自己編寫),那麼您可以完全避免DTO類,只需創建一個足以傳達信息的XML模式;例如,隨着形式的子元素頂級元素:

<Deltas> 
    <Delta x="3" y="9"> ...value subelementgoes here </Delta> 
    ... more Delta elements 
</Deltas> 

你的REST服務將不得不做的增量更新服務器端數據庫中記錄的工作。對於每種數據類型,您可能都需要一個獨特的REST URL。

HTH

比爾

相關問題