我正在使用 restsharp 自动化网络服务,如下所示
public async Task<IRestClient> GetAuthorizedRequestClient(string baseUrl)
{
try
{
string authorizeUrl = await GetAuthorizationURL(baseUrl);
//Some code here
return authorizedClient;
}
catch (Exception)
{
throw;
}
}
async Task<string> GetAuthorizationURL(string baseUrl)
{
try
{
var client = new RestClient(baseUrl);
var request = new RestRequest("Home", Method.GET);
var response = await client.ExecuteAsync(request);
return response.Headers.First(p => p.Name == "Location").Value.ToString();
}
catch (Exception ex)
{
throw;
}
}
它在 client.ExecuteAsync(request);
处失败而没有抛出任何异常,即执行被终止。当我使用 Execute 而不是 ExecuteAsync 时,它工作正常并返回响应。是 restsharp 还是 async-await 代码的问题?详细回答它会很有帮助,因为我是 restsharp 以及异步编程的新手。