2009-08-07 97 views
2

我不理解我的模型如何成爲WCF服務。當它的一個Astoria分部類駐留在客戶端上允許遠程調用來執行持久性調用時,它是有意義的,但是WCF服務沒有可用於更新數據存儲的模型字段的屬性。MVVM和WCF - 查看模型和模型的關係

即使我能分解出一個模型/域對象類的接口轉換成一個單獨的程序,Silverlight項目不會讓我補充一點,作爲參考。

我的ViewModel應該如何包含我的WCF調用?最終,WCF將調用在Linq-to-Sql中實現的存儲庫程序集,但顯然這些實體不是我在這種情況下的模型,我的WCF類是?

感謝您的任何指導。

另外,我看了帖子給一個參照系:

  1. http://development-guides.silverbaylabs.org/Video/Silverlight-Prism#videolocation_0
  2. http://blogs.conchango.com/davidwynne/archive/2008/12/15/silverlight-and-the-view-viewmodel-pattern.aspx
  3. http://msdn.microsoft.com/en-us/magazine/dd458800.aspx

回答

5

當您創建一個服務引用到WCF服務Silverlight項目也爲該服務生成一個接口,這與上面列出的文章中的David Wynns IFeedService類似。服務引用還將生成代表服務使用的對象(產品,類別等)的代理對象。

需要注意的重要一點是,服務接口是不是模型,而是你如何訪問模式。回到David的例子中,他的ViewModel公開了一個項目列表(他的模型),這個列表使用該服務來檢索。

如果你正在尋找的客戶端和服務器我reccomend尋找到像RIA服務之間共享代碼。如果這不適合你,那麼我會看一些關於在服務器和客戶端之間共享代碼的文章(通過添加爲鏈接)。

希望這會有所幫助