随机获取“ System.Net.Sockets.SocketException:连接尝试失败,因为连接方

时间:2018-07-05 13:11:11

标签: c# .net azure

我创建了一个Webjob来在每10秒运行一次的Azure上爬网我的网站,该Webjob在几个月前运行良好,但现在随机出现以下错误

  

System.Net.Sockets.SocketException(0x80004005):尝试连接   失败,因为关联方在   一段时间,或由于连接而建立的连接失败   主机在以下时间未响应81.218.113.171:443   System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,   套接字地址(套接字地址)在   System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure,   套接字s4,套接字s6,套接字和套接字,IP地址和地址,   ConnectSocketState状态,IAsyncResult,asyncResult,Exception&   例外)

我已经尝试过搜索它,并尝试了多种方法在WebRequest上进行设置,如下所述

WebRequest.proxy = null;
WebRequest.KeepAlive = false;
WebRequest.ProtocolVersion = HttpVersion.Version10;
WebRequest.ServicePoint.ConnectionLimit = 12;

正如我所说的那样,错误是随机产生的,在抓取5到6次时,它只会出现一次。

2 个答案:

答案 0 :(得分:2)

您的网站有多少实例正在运行?可能有6个实例在运行,其中5个实例正常,但最后一个实例已停止运行。负载均衡器没有意识到实例已关闭,仍在将请求推送到“损坏的”实例。

答案 1 :(得分:0)

也许原因是:

  • 检查生产服务器上的防火墙设置
  • 检查是否需要IP白名单
  • 防病毒软件可能阻止了该请求
  • 如果没有运气,请在Chrome上安装Advanced REST Client工具并手动测试请求