wcf - MVVM 和 WPF - View 模型和模型关系

标签 wcf silverlight linq-to-sql mvvm prism

我不明白我的模型如何成为 WCF 服务。当 Astoria 分部类驻留在客户端上并允许远程调用执行持久性调用时,这是有意义的,但 WCF 服务没有可用于更新数据存储的模型字段的属性。

即使我可以将模型/域对象类的接口(interface)分解为单独的程序集,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

最佳答案

当您在 Silverlight 项目中创建对 WCF 服务的服务引用时,它还会为该服务生成一个接口(interface),这类似于上面列出的文章中的 David Wynns IFeedService。服务引用还将生成代表服务使用的对象(产品、类别等)的代理对象。

需要注意的重要一点是,服务接口(interface)不是模型,而是访问模型的方式。回到 David 的示例,他的 ViewModel 公开了一个项目列表(他的模型),该列表是使用服务检索的。

如果您希望在客户端和服务器之间共享代码,我建议您研究 RIA 服务之类的东西。如果这不适合您,那么我会看一些有关在服务器和客户端之间共享代码的文章(通过“添加为链接”)。

希望这有帮助

关于wcf - MVVM 和 WPF - View 模型和模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1242678/

相关文章:

linq-to-sql - .net Framework 4.0 中的 Linq2SQL 与 EF

asp.net - 在 IIS8 中使用 Gzip 进行 Json HTTP 压缩

使用 IIS 和 ACL 的 WCF 授权

silverlight - 使用 azure 托管 silverlight 媒体

c# - 使用 DataContractJsonSerializer 序列化 Dictionary<> 对象

c# - LINQ 函数中可空类型的问题

jquery - 使用 Jquery WCF REST Starter Kit Preview 2 进行跨域 Ajax 调用的问题

wcf - 如何在 WCF 流模式下获取 Stream 上的 Seek 方法?

c# - 文本框滞后于大量数据? (银光 4)

c# - 使用LINQ2SQL插入大量记录