2016-11-05 26 views
6

Tôi đang làm việc với gói RestSharp.NetCore và có nhu cầu gọi phương thức ExecuteAsyncPost. Tôi đang đấu tranh với sự hiểu biết tham số gọi lại.Ví dụ ExecuteAsyncPost trong RestSharp.NetCore

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

Các callback là loại Action<IRestResponse,RestRequestAsyncHandler>

có một người nào đó xin vui lòng gửi một mã số ví dụ nhỏ cho thấy làm thế nào để sử dụng tham số callback với một lời giải thích.

Cảm ơn C

Trả lời

10

này làm việc cho tôi sử dụng ExecuteAsync cho một cuộc gọi Nhận. Nó hy vọng sẽ chỉ cho bạn đi đúng hướng. Lưu ý rằng mã và tín dụng đi vào hỗ trợ v106 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

RestSharp NET Chuẩn 2.0 vì vậy nếu mã của bạn làm việc với RestSharp 105 dưới .NET Framework - nó cũng sẽ làm việc với .NET Core 2.

RestSharp.NetCore gói không thuộc nhóm RestSharp và không được chúng tôi hỗ trợ. Nó cũng không được cập nhật và chủ sở hữu không trả lời tin nhắn, không phải mã nguồn của gói được xuất bản.