2012-12-13 6 views
1

restsharp를 사용하여 동기식 요청을 시뮬레이트하는 방법 (아무리 상관 없이)이 있습니까?Windows에서 RestSharp 동기 요청

성공적인 로그인 응답이 앞으로 진행될 때까지 기다려야하는 앱을 개발하고 있습니다. 코드를 확인하기 위해 콜백을 모든 코드에 전달하는 것은 고통입니다.

답변

5

Microsoft.Bcl.Async package을 사용하십시오.

var restResponse = await restClient.ExecuteTask(restRequest); 
: 당신은 같은 통화를 할 수 있습니다

public static class RestClientExtensions 
    { 
     public static Task<IRestResponse> ExecuteTask (this IRestClient restClient, RestRequest restRequest) 
     { 
      var tcs = new TaskCompletionSource<IRestResponse>(); 
      restClient.ExecuteAsync (restRequest, (restResponse, asyncHandle) => 
      { 
       if (restResponse.ResponseStatus == ResponseStatus.Error) 
        tcs.SetException (restResponse.ErrorException); 
       else 
        tcs.SetResult (restResponse); 
      }); 
      return tcs.Task; 
     } 
    } 

: 같은 확장 방법 그리고