我在 Azure 平台上的带有 Windows Server 2012 R2 的 VM 中托管了一个 mongodb 副本集,我的问题是,当我尝试使用 C# 驱动程序从外部客户端插入数据时,甚至从 GUI 客户端(mongoVUE , robomongo ...) 我经常遇到以下异常,它会永久锁定程序(即使尝试 Server.reconnect() 也无法解决)。
No such host is known
Type: System.Net.Sockets.SocketException
Stack: at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
at MongoDB.Driver.MongoServerAddress.ToIPEndPoint(AddressFamily addressFamily)
at MongoDB.Driver.MongoServerInstance.GetIPEndPoint()
我试过设置:
MongoDefaults.SocketTimeout = TimeSpan.FromMinutes(5);
MongoDefaults.ConnectTimeout = TimeSpan.FromMinutes(5);
MongoDefaults.MaxConnectionIdleTime = TimeSpan.FromMinutes(5);
将服务器的硬编码公共 IP 地址放在连接字符串中并从不同位置对其进行测试,但似乎服务器上的某些东西阻止了连接。
有谁知道我该如何解决?