Web services Silverlight中的MVVM-异步服务逻辑到哪里去了?

Web services Silverlight中的MVVM-异步服务逻辑到哪里去了?,web-services,silverlight-3.0,mvvm,Web Services,Silverlight 3.0,Mvvm,我已经开始了我的第一个Silverlight MVVM应用程序,需要知道我应该将业务逻辑(包括异步服务调用)放在哪里。它是否出现在承载视图的页面上?我是否简单地设置了更新视图的ViewModel属性?我倾向于同意,导致数据修改的服务调用应由ViewModel处理 在Silverlight中执行MVVM比在WPF中更难,但我们已经做到了。是的,我们将异步服务调用放在ViewModel中。本例中的“模型”是通过web服务调用来回发送的代理对象。不幸的是,这意味着您的一些功能在客户端ViewModel

我已经开始了我的第一个Silverlight MVVM应用程序,需要知道我应该将业务逻辑(包括异步服务调用)放在哪里。它是否出现在承载视图的页面上?我是否简单地设置了更新视图的ViewModel属性?

我倾向于同意,导致数据修改的服务调用应由ViewModel处理

在Silverlight中执行MVVM比在WPF中更难,但我们已经做到了。是的,我们将异步服务调用放在ViewModel中。本例中的“模型”是通过web服务调用来回发送的代理对象。不幸的是,这意味着您的一些功能在客户端ViewModel中,而一些在服务器端。真的没办法逃避这件事


…是的,让异步完成事件处理程序写入ViewModel上的属性,并确保属性(或集合)实现INotifyPropertyChanged(或INotifyCollectionChanged)。如果从Web服务中返回“模型”对象,并且这些对象不实现IntIfyPrimyType自身更改,那么您也应该考虑包装视图模型对象。这样,如果您对这些对象中的每一个都有一个视图,它们就可以进行双向绑定。

我将对异步服务的调用放入模型中,并将其挂接到viewmodel中的事件中,这些事件在数据返回到模型时被触发。

您有一个来自Microsoft的好例子。这对我理解MVVM和异步调用有很大帮助