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

Posted

技术标签:

【中文标题】随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方【英文标题】:Randomly getting "System.Net.Sockets.SocketException: A connection attempt failed because the connected party 【发布时间】:2018-12-13 23:44:39 【问题描述】:

我已经创建了一个网络作业来在 Azure 上抓取我的网站,该网站每 10 秒运行一次,几个月前该网络作业运行良好,但现在随机出现以下错误

System.Net.Sockets.SocketException (0x80004005):连接尝试 失败,因为连接方没有正确响应后 一段时间,或建立连接失败,因为已连接 主机未能响应 81.218.113.171:443 在 System.Net.Sockets.Socket.DoConnect(端点 endPointSnapshot, SocketAddress 套接字地址)在 System.Net.ServicePoint.ConnectSocketInternal(布尔连接失败, Socket s4, Socket s6, Socket&socket, IPAddress&地址, ConnectSocketState 状态、IAsyncResult asyncResult、Exception& 例外)

我尝试用谷歌搜索并尝试了很多方法来设置WebRequest,如下所述

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

正如我所说的错误是随机出现的,在爬行 5 到 6 次时出现一次。

【问题讨论】:

嗨。你有没有找到这个的原因?我刚开始遇到同样的问题。 【参考方案1】:

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

【讨论】:

以上是关于随机获取“System.Net.Sockets.SocketException:连接尝试失败,因为连接方的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 获取一个四位随机数(并且四位数不重复),并说明原理和算法

java获取随机数(java获取随机数整数)

lua中如何获取表里随机的数值?

MySQL实现随机获取几条数据的方法

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

.net工具类——获取编码(生成随机数)