问题描述
使用winform客户端通过refit发送http请求到.net core 服务的时候出现了System.Net.WebException: The request was aborted: The request was canceled.异常。
发现只有个别人的客户端出现这个问题,只在登录后出现一次,之后不再出现。从客户端记录的log可以看到,在1s之内发送了4个不同的请求只有一个失败了,重新发送请求就没有问题。
问题出现的环境背景及自己尝试过哪些方法
win7系统出现问题,只有个别人会出现,大部分人没有问题。
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
if (!string.IsNullOrEmpty(_userName))
request.Headers.Add("username", _userName);
var cache = MemoryCache.Default;
string token = cache["AccessToken"] as string;
if (!string.IsNullOrEmpty(token))
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(token);
var response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);
return response;
}
你期待的结果是什么?实际看到的错误信息又是什么?
期望返回server返回正常的response。看到的错误信息是System.Net.WebException: The request was aborted: The request was canceled.
抛出的异常时请求被取消了CancellationToken cancellationToken是不是这个取消有人做了什么事情,推荐你打断点调试下