C#4.5.2框架当系统不使用VPN时,HttpClient.GetAsync()方法在Windows 10上正常工作.
当VPN连接时,HttpClient.GetAsync()调用相同的地址只会阻塞,直到它超时. Edge和Chrome在访问同一地址时都没有问题.
有没有办法看看发生了什么?什么是HttpClient做的不同?
更新:通过调用Dns.GetHostEntry()获得一些有趣的线索.没有VPN
此调用仅返回所有可以连接的IPv4地址.连接VPN客户端后,Dns.GetHostEntry()会在列表顶部返回其他IPv6地址.连接到所有IPv6地址超时但所有IPv4仍然正常工作.现在有没有办法弄清楚,而不是试图连接哪些地址工作,哪些不工作?
解决方法:
根据我的经验,这对我来说听起来像VPN /防火墙问题.在Windows中切换的一个快速的事情是你的VPN适配器属性,尝试取消选中“在远程网络上使用默认网关” – 我知道这听起来像是一个长镜头,但过去有这个问题…