gpt4 book ai didi

windows-phone-7 - 在 MVVM 架构中调用 Windows Phone 7 中的 Web 服务

转载 作者:行者123 更新时间:2023-12-03 10:30:03 25 4
gpt4 key购买 nike

我在 Windows Phone 7 中调用 Web 服务。

我添加了对 Web 服务(.asmx 服务)的服务引用,其引用名称为 RS。
然后我调用服务如下:

Class AModel
{
public void CreateT()
{
RS.RSSoapClient objRS = new RSRSSoapClient();
objRS.Completed += new EventHandler<RS.CompletedEventArgs>(objRS_Completed);
objRSAsync();
}

private void objRS_Completed(object sender, EventCompletedEventArgs e)
{
string str = e.Result;
responseEventArgs = new ResponseEventArgs();
responseEventArgs.response = e.Result;
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(responseEventHandler, responseEventArgs);
}
}

Class BViewModel
{
public void CreateT()
{
AModel objAModel = new AModel();
objAModel.CreateT();
objAModel .responseEventHandler += new ResponseEventHandler(objAModel_responseEventHandler);
}

private void objAModel_responseEventHandler(ResponseEventArgs e)
{
//doing some thing
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(responseEventHandler, responseEventArgs);
}
}

这里我的主要问题是:这里我想使用 MVVM 架构,所以我在这里调用模型(类 AModel)层中的服务我调用一个事件来通知 ViewModel(BViewModel)并在 ViewModel 中调用相同的事件来通知 View (.xaml 页面)。由于这些事件,我的应用程序性能下降(绑定(bind)响应所需的时间很长)。因此,如果在实现 MVVM 架构时出现任何问题,请指导。

提前致谢。

最佳答案

让您的 ViewModel 进行控制。将 Web 服务的调用放在服务对象 IMyService 中并让它返回 Dto(s)。从 ViewModel 调用 myService.GetThings();然后对结果进行所需的处理。如果您需要映射、显示或持久化它们。

关于windows-phone-7 - 在 MVVM 架构中调用 Windows Phone 7 中的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8535782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com