加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#MongoDb连接到副本集问题

发布时间:2020-12-16 10:22:42 所属栏目:百科 来源:网络整理
导读:根据 mongodb网站,如果我只是从副本集中给它一个成员,我应该能够连接到副本集: “即使种子列表不完整,C#驱动程序也能够连接到副本集.只要种子列表中至少有一个服务器响应,它就会找到主服务器,即使它不在种子列表中也是如此(响应将包含完整副本集和当前主副
根据 mongodb网站,如果我只是从副本集中给它一个成员,我应该能够连接到副本集:

“即使种子列表不完整,C#驱动程序也能够连接到副本集.只要种子列表中至少有一个服务器响应,它就会找到主服务器,即使它不在种子列表中也是如此(响应将包含完整副本集和当前主副本的名称.“ http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Connectionstrings

但是,如果我只是给它一个次要成员,我就无法让我的驱动程序连接.

这是我目前的连接声明:

m_server = MongoServer.Create(new MongoServerSettings {ConnectionMode = ConnectionMode.ReplicaSet,Server = new MongoServerAddress(connection)});

‘connection’变量是:mongodb:// servername /?safe = true

我看到了这个:https://jira.mongodb.org/browse/CSHARP-500,我确实运行了rs.status(),并且确实使用了正确的服务器名称.任何帮助表示赞赏!

解决方法

因此,连接变量是一个完整的连接字符串,而不是传递给MongoServerAddress的东西.此外,您还可以在连接字符串上指定连接模式.试试这个:

connection = "mongodb://servername/?safe=true&connect=replicaset";
m_server = MongoServer.Create(connectionString);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读