2013-08-20 2 views
0

wincf 데이터 서비스에 asynch 호출을 쓰려고하지만 반환 된 객체를 읽는 방법을 모르겠습니다.Asynch WCF Data Services/OData

public IQueryable<T> Read(string TableName) 
    { 
     IQueryable<T> OdataResult=null;    

     IAsyncResult asyncresult = context.BeginExecute<T>(new Uri("/" + TableName, UriKind.Relative), 
      (result) => 
      { 
       Dispatcher.CurrentDispatcher.BeginInvoke(new OperationResultCallback(delegate 
     { 

      var result1 = new DataServiceCollection<T>(context.EndExecute<T>(result)); 

      OdataResult = result1.AsQueryable<T>(); 

     }), null); 
      }, null); 

     asyncresult.AsyncWaitHandle.WaitOne(); 

     asyncresult.AsyncWaitHandle.Close(); 

     return OdataResult;} 

ODataResult 항상

+0

내가 가진 그것을 디버그하지만 어떤 단서를 얻을 수 없습니다. 내가 뭔가 내 주 스레드에 값을 전달해야하지만 그 방법을 모르겠 스레드 관련이 있습니다 추측입니다 : ( – user2463514

답변

1

내가 대신 "디스패처"의 "작업"을 사용했다 :(널 나에게주고 그리고 내 주요 스레드 "결과"속성을 통해 데이터를 공유했다.

관련 문제