0

我有一個mongodb副本集在Azure平臺上的Windows Server 2012 R2中承載,我的問題是,當我嘗試從外部客戶端使用數據C#驅動程序甚至是從GUI客戶端(mongoVUE,robomongo ...)諮詢他們。我經常會遇到下面的例外情況,它會永久性地鎖定程序(即使嘗試使用Server.reconnect()也無法解決)。嘗試將數據發送到Azure上的mongoDB時出現SocketException

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地址,並從不同位置測試,但它似乎在服務器上的東西擋住連接。

有沒有人有任何想法我可以修復它?

+0

環顧網絡。我想你會發現當Azure實例沒有被連續訪問時,它們會「睡覺/停放/不管」。甚至會有解決方案。 Google是你的朋友。這不是產品代言BTW :) –

回答

0

我解決了!問題在於我啓動了mongodb,但沒有正確配置一個副本集,在啓動mongod時,刪除了選項--replset所有工作正常。

相關問題