Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
副本集中只有一个成员的MongoDB和C#驱动程序套接字超时_C#_Mongodb - Fatal编程技术网

副本集中只有一个成员的MongoDB和C#驱动程序套接字超时

副本集中只有一个成员的MongoDB和C#驱动程序套接字超时,c#,mongodb,C#,Mongodb,我有一个正在运行的C#web应用程序,它与C#driver 1.7.0.4714连接到MongoDB。我想把这一个MongoDB放进一个有两个二级副本的副本集中。当我在副本集模式下重新启动我的原始MongoDB时,它会获得主连接,但是来自我的web应用程序的大多数连接都会失败 System.Net.Sockets.SocketException 当我在非副本集模式下重新启动MongoDB时,一切都很好 这是我的连接字符串:”mongodb://myserver:27017“当您连接到副本集时,通

我有一个正在运行的C#web应用程序,它与C#driver 1.7.0.4714连接到MongoDB。我想把这一个MongoDB放进一个有两个二级副本的副本集中。当我在副本集模式下重新启动我的原始MongoDB时,它会获得主连接,但是来自我的web应用程序的大多数连接都会失败

System.Net.Sockets.SocketException

当我在非副本集模式下重新启动MongoDB时,一切都很好


这是我的连接字符串:”mongodb://myserver:27017“

当您连接到副本集时,通常驱动程序可以判断它正在连接到副本集或独立服务器

您没有说明使用的是哪个版本的C#驱动程序,也没有提供所使用的连接字符串/语法的确切格式,但本教程在这里详细介绍了这一点:

它表示,如果只指定了一个服务器,而您没有指定副本集名称,则使用直接模式,这不是您想要的


您应该明确使用副本集模式,而不是默认的自动模式,或者您应该指定副本集名称。

我发现答案很简单,很抱歉在这里问一个转储问题:

我用域名设置了我的replcia,即

rs.add("myserver01")
rs.add("myserver02")
rs.add("myserver03")
域名
myserver01,…,
无法在我的应用服务器上解析,我使用IP地址连接:
mongodb://10.0.0.1:27017,10.0.0.2:27017,10.0.0.3:27017


所以每第二次或第三次请求都会失败。修复连接字符串以使用域名,并修复域名可以解析,修复了所有问题。

您的代码是什么?你试过什么?请阅读,代码可能并不重要。我对C#driver 1.7.0.4714使用普通查询,并使用一个简单的连接字符串:mongodb://server:27017What 文本是否为例外?您的副本集在mongo控制台上正常工作吗?哪些操作导致异常:读取、插入?请将您的代码张贴在控制台上初始化到mongoRS的连接正常的地方。它连接到主服务器。请参阅上面评论中的conn字符串。