RestSharpASYNCclient.ExecuteAsync()示例作品谁能帮我修改一下代码:client.ExecuteAsync(request,response=>{Console.WriteLine(响应.内容);});基本上我想使用上面的ExecuteAsync方法,但不想打印而是将response.Content返回给调用者。有没有一种简单的方法可以实现这一目标?我试过这个但没有用:publicTExecute(RestRequestrequest)whereT:new(){varclient=newRestClient();client.BaseUrl=BaseUrl;client.Authenticator=newHttpBasicAuthenticator(_accountSid,_secretKey);请求.AddParameter("AccountSid",_accountSid,ParameterType.UrlSegment);//用于每个请求varresponse=client.ExecuteAsync(request,response=>{returnresponse.data);});}上面的代码来自https://github.com/restsharp/RestSharp一件事...你不能返回异步传递的值,因为你的调用方法已经返回了。在获得结果之前阻止调用者会破坏使用ExecuteAsync的意义。在这种情况下,我返回一个任务(假设response.Content是一个字符串):client.ExecuteAsync(request,response=>{tcs.SetResult(response.Content);});返回tcs.Task;现在您在任务完成时有了一个值。当我们转向c#5async/await时,您应该习惯在Task端声明async,因为它非常核心。http://msdn.microsoft.com/en-us/library/dd537609.aspxhttp://msdn.microsoft.com/en-us/library/hh191443.aspx在@spender的帮助下,这就是我得到的:您可以在您的RestSharp项目中添加一个新文件并添加以下代码:this.ExecuteAsync(request,response=>{tcs.SetResult(Deserialize(request,response));});返回tcs.Task;这实际上会返回完整的响应、状态代码和所有内容,因此您可以在获取内容之前检查响应的状态是否正常,并且您可以得到以下内容:response.Content从阅读代码,您可能想要使用ExecuteAsGet或ExecuteAsPost而不是异步实现。或者只是执行-不确定客户端的确切类型。以上就是有效分享的C#学习教程:RestSharpASYNCclient.ExecuteAsync()实例的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
