1

restsharpを使用して同期リクエストをシミュレートする方法はありますか?

先に進むためにログイン応答が成功するのを待たなければならないアプリを開発しています。コード全体にコールバックを渡して確認するのは面倒です。

4

1 に答える 1

5

Microsoft.Bcl.Async パッケージを使用します。

次に、次のような拡張メソッドを使用します。

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;
        }
    }

次のような呼び出しを行うことができます。

var restResponse = await restClient.ExecuteTask(restRequest);
于 2012-12-13T22:23:56.173 に答える