我有一个从 MVC 控制器到另一个 WebAPI 的异步调用。这段代码工作了 3-4 年,没有出现任何问题。现在,我们不得不将代码移动到不同的服务器环境。该网站持续工作 24 小时,恰好在 24 小时后,对 Web API 的异步调用,开始返回任务取消异常。API 的应用程序池刷新解决了该问题。
当“任务取消异常”出现时,API 不会记录任何传入请求。但是当我从 Postman 发出请求时,API 会返回结果并记录调用。
下面是调用 WebAPI 的 HTTP 客户端
using (var client = new HttpClient())
{
client.SetBearerToken(GetToken());
using (var content = new MultipartFormDataContent())
{
var response = await client.PostAsync(uri, content);
return response.Content.ReadAsAsync<T>().Result;
}
}```
[![App Pool settings for API][1]][1]
[1]: https://i.stack.imgur.com/2EIix.png