deadlock

在Winforms应用程序中使用单例HttpClient时如何避免死锁

我正在开发一个遗留的Windows窗体应用程序,我对http客户端进行了一些更改,我希望将其作为一个单例,以便在整个应用程序中重用。这似乎造成了僵局。我将粘贴我认为涉及的所有代码:这是UI被冻结的调用代码,它从不解冻。这是使用httpClient的LoadStores方法:这是HttpSingleton类:这是初始化HttpClient的表单构造函数:如果我将http请求包装在LoadStores方法内部的using语句中,那么应用程序运行良好,但我不想丢弃http客户端,因为这会破坏将其作为单例的目的。