我正在使用RestSharp.NetCore包,需要调用ExecuteAsyncPost方法。我正在努力理解回调参数。
var client = new RestClient("url");
request.AddParameter("application/json", "{myobject}", ParameterType.RequestBody);
client.ExecuteAsyncPost(request,**callback**, "POST");
回调的类型为Action<IRestResponse,RestRequestAsyncHandler>
有人请发一个小代码示例,说明如何使用回调参数和解释。
由于 -C
答案 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团队,我们不支持。它也没有被更新,所有者也没有回复消息,包的源代码也没有发布。