Я звоню в веб-службу в Windows Phone 7.
Я добавил ссылку на службу в веб-службу (.asmx Service) с именем Refrence 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).Из-за этих событий производительность моего приложения снижается (время, затрачиваемое на привязку ответа, очень велико).Поэтому, пожалуйста, помогите, если что-то не так в реализации архитектуры MVVM.
Заранее спасибо.