2011-08-04 5 views
1

WCF 서비스로 MMVM을 구현하는 좋은 방법은 무엇입니까? View 모델이 서비스와 통신합니다. 따라서보기에서 3-4 개의 데이터 표시 모듈을 사용할 수 있습니다. 이 모듈에 대한 모든 정보는 다른 WCF 서비스 호출에서 가져옵니다. 이 작업을 동 기적으로 수행하면 뷰 모델의 데이터가로드되는 데 시간이 걸릴 것으로 생각됩니다.WCF를 비동기 적으로 사용하는 MMVM 라이트

첫 번째 호출이 다시 시작될 때까지 기다리지 않고 이러한 서비스 메서드를 모두 비동기 적으로 호출하려고합니다. 이것을하는 좋은 방법은 무엇입니까?

class TestViewModel : ViewModelBase 
{ 
    private ObservableCollection<string> data; 

    public ObservableCollection<string> Data 
    { 
     get { return data; } 
     set 
     { 
      if (value == data) return; 
      data = value; 
      RaisePropertyChanged("Data"); 
     } 
    } 

    public TestViewModel() 
    { 
     GetDataClient proxy = new GetDataClient(); 

     System.EventHandler<GetDataCompletedEventArgs> Client_GetDataCompleted = null; 
     Client_GetDataCompleted = (s, e) => 
     { 
      if (e.Error == null && e.Result != null) 
      { 
       Data = new ObservableCollection<SelectionItem<string>>(e.Result));      
      } 

      proxy.GetDataCompleted -= Client_GetDataCompleted; 
     }; 

     proxy.GetDataCompleted += Client_GetDataCompleted;    
     proxy.GetDataAsync();    
    } 
} 
:

답변

1

나는 가장 좋은 방법은 비동기 서비스를 호출하고 다음과 같은 완벽한 방법에 값을 할당하는 것입니다 생각
관련 문제