在异步HttpClientSendAsync期间,Windows Forms GUI线程会不时地停滞一秒钟。除此之外,一切都很好(我得到了数据)。我正在尝试启动多个请求,这些请求将发送响应,以便稍后由GUI线程进行处理。下面的代码是我的代码的简化。我检查了SendAsync之前和之后的时间,发现在图形用户界面窗口冻结(无法移动、滚动等)和轮询计时器不活动(计数器从不递增)的情况下,它有时会长达2秒。 使用异步Task DoWork无济于事。class
我从System.Net.HttpClient类派生来实现一个处理令牌检索和刷新的客户端。客户端是使用所有所需的身份验证参数初始化的,可能会同时使用。在这种情况下,我需要阻止客户机请求多个令牌(针对不同的请求)。我不确定如果用户在dispatcher线程上启动多个web请求,我的代码是否会导致WPF应用程序中的死锁(因为信号量是不可重入的,因此在等待信号量时可能会阻塞dispatcher线程,如果dispatcher线程被阻塞,原始任务可能无法完成)。public class ApiClient : <e
我正在尝试创建一个扩展httpclient但仍然是抽象的类。public abstract class Repository : HttpClient public override async Task<HttpResponseMessage> SendAsyncCancellationToken cancellationToken) //retry logic here
var response = await base.SendAsync<