RestSharp.NetCore

时间:2016-11-05 09:05:12

标签: c# .net callback restsharp asp.net-core-webapi

我正在使用RestSharp.NetCore包,需要调用ExecuteAsyncPost方法。我正在努力理解回调参数。

    var client = new RestClient("url");
    request.AddParameter("application/json", "{myobject}",  ParameterType.RequestBody);
    client.ExecuteAsyncPost(request,**callback**, "POST");

回调的类型为Action<IRestResponse,RestRequestAsyncHandler>

有人请发一个小代码示例,说明如何使用回调参数和解释。

由于 -C

2 个答案:

答案 0 :(得分:12)

这对我使用ExecuteAsync进行Get调用很有用。它应该有希望指出你正确的方向。请注意,代码和赠送金额为https://www.learnhowtoprogram.com/net/apis-67c53b46-d070-4d2a-a264-cf23ee1d76d0/apis-with-mvc

public void ApiTest()
    {
        var client = new RestClient("url");
        var request = new RestRequest(Method.GET);
        var response = new RestResponse();
        Task.Run(async () =>
        {
            response = await GetResponseContentAsync(client, request) as RestResponse;
        }).Wait();
        var jsonResponse = JsonConvert.DeserializeObject<JObject>(response.Content);

    }

public static Task<IRestResponse> GetResponseContentAsync(RestClient theClient, RestRequest theRequest)
    {
        var tcs = new TaskCompletionSource<IRestResponse>();
        theClient.ExecuteAsync(theRequest, response => {
            tcs.SetResult(response);
        });
        return tcs.Task;
    }

答案 1 :(得分:2)

RestSharp v106支持.NET Standard 2.0,因此如果您的代码在.NET Framework下使用RestSharp 105,它也可以与.NET Core 2一起使用。

RestSharp.NetCore包不是来自RestSharp团队,我们不支持。它也没有被更新,所有者也没有回复消息,包的源代码也没有发布。