C# HttpWebRequest GetResponse延迟在第一个请求时的正确修复
如前所述 这里呢 由于代理自动检测,HttpWebRequest在第一个请求时挂起。解决方法是设置Proxy=null,但这也会锁定所有使用代理的用户,而sway不是合适的解决方案C# HttpWebRequest GetResponse延迟在第一个请求时的正确修复,c#,.net,proxy,httpwebrequest,httpwebresponse,C#,.net,Proxy,Httpwebrequest,Httpwebresponse,如前所述 这里呢 由于代理自动检测,HttpWebRequest在第一个请求时挂起。解决方法是设置Proxy=null,但这也会锁定所有使用代理的用户,而sway不是合适的解决方案 那么,有没有人知道如何通过编程修复此初始延迟而不锁定所有代理用户?一种方法是要求用户在Internet explorer选项中关闭代理自动检测 您可以先尝试/捕获调用,将代理设置为null,并在失败的情况下设置代理自动检测。当在http://localhost:9200具有GetResponse和GetRequest
那么,有没有人知道如何通过编程修复此初始延迟而不锁定所有代理用户?一种方法是要求用户在Internet explorer选项中关闭代理自动检测 您可以先尝试/捕获调用,将代理设置为null,并在失败的情况下设置代理自动检测。当在
http://localhost:9200
具有GetResponse和GetRequestStream,并有20秒的延迟
我的问题的原因是在IPv6内。
我的案例的解决方案是本地主机的IPv6地址定义:
转到“C:\Windows\system32\drivers\etc\”文件夹
备份“主机”文件
编辑文件以更改行:
::1 localhost
#127.0.0.1 localhost
到
您还可以更改行:
::1 localhost
#127.0.0.1 localhost
到
也许您可以刷新DNS缓存:
以管理员身份启动命令提示符,在命令窗口中键入,然后按enter键:
ipconfig/flushdns
在此之前,我尝试了许多在互联网上找到的解决方案,但对我的案例毫无帮助,例如:
帮助我的是,我们关闭了Internet explorer LAN设置中的“自动检测设置”。其他一切都不起作用,包括重新编写代码以使用HttpClient而不是HttpWebRequest。在我的例子中,在本地主机上使用主机文件中的活动IPv6解析请求(DNS)会在第一次请求时产生延迟。你试过这个吗?这不仅仅是我的情况,你可以发现类似的问题[,但是没有人用这个解决方案将问题与GetResponse和GetRequestStream联系起来。但是我要求进行适当的修复,这可以通过编程实现……我想让我的程序修改用户主机文件不是一个好主意,是吗?