当尝试在Azure上向mongoDB发送数据时,SocketException



我在Azure平台上的Windows Server 2012 R2虚拟机上托管了一个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地址放在连接字符串中,并从不同的位置进行测试,但似乎服务器上的某些东西阻止了连接。

有谁知道我该怎么修理它吗?

我解决了!问题是,我用一个未正确配置的副本集启动mongodb,删除选项-启动mongod时全部正常工作。

相关内容

  • 没有找到相关文章

最新更新