2

我不明白我的模型如何成为 WCF 服务。当它的 Astoria 分部类驻留在客户端上允许远程调用执行持久性调用时,这是有意义的,但是 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
4

1 回答 1

5

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

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

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

希望这可以帮助

于 2009-08-07T03:50:15.877 回答