从.NET应用程序远程连接到MongoDb

从.NET应用程序远程连接到MongoDb,mongodb,mongodb-.net-driver,Mongodb,Mongodb .net Driver,从.NET应用程序连接到远程MongoDb实例时遇到一些问题 我创建了一个非常简单的控制台应用程序,它基本上是一个冒烟测试,并返回一个项目。如果我在运行MongoDb服务的服务器上运行它,它与MongoDb对话不会有问题。而ConnectionString就是mongodb://localhost:27017 但是,我想在我的开发机器上的开发环境中运行它。我尝试了几种不同的连接字符串(在本文末尾列出),但一直出现超时错误: 使用CompositeServerSelector{Selectors=

从.NET应用程序连接到远程MongoDb实例时遇到一些问题

我创建了一个非常简单的控制台应用程序,它基本上是一个冒烟测试,并返回一个项目。如果我在运行MongoDb服务的服务器上运行它,它与MongoDb对话不会有问题。而ConnectionString就是
mongodb://localhost:27017

但是,我想在我的开发机器上的开发环境中运行它。我尝试了几种不同的连接字符串(在本文末尾列出),但一直出现超时错误:

使用CompositeServerSelector{Selectors=MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector,LatencyLimitingServerSelector{AllowedLatencyRange=00:00.0150000}选择服务器30000ms后发生超时。集群状态的客户端视图是{ClusterId:“1”,连接模式:“自动”,类型:“未知”,状态:“断开”,服务器:[{ServerId:{ClusterId:1,端点:“192.168.1.51:27017”},端点:“192.168.1.51:27017”,状态:“断开”,类型:“未知”}

我使用的是
mongocsharpdriver的v2.5.1

我已经为服务器上的27017端口创建了一个inboudd规则,甚至完全关闭了防火墙

我的Mongo服务器的cfg文件非常基本:

systemLog:
目的地:文件
路径:E:\MongData\mongod.log
存储: 数据库路径:E:\MongData\db directoryPerDB:false 净: 港口:27017 安全: 授权:“已启用”

我没有任何复制品。只是一个例子

正如你所知道的,我是一个蒙哥人。怎么了

干杯

连接字符串:

<add name="MConnectionString" connectionString="mongodb://daveAdmin:firetruck1@192.168.1.51:27017" />
<add name="MRealEstateConnectionString" connectionString="mongodb://daveAdmin:firetruck1@BIGDOG:27017" />
<add name="MRealEstateConnectionString" connectionString="mongodb://BIGDOG:27017" />
<add name="RealEstateConnectionString" connectionString="mongodb://192.168.1.51:27017" />

下载Mongo二进制文件(zip文件)后,我还尝试使用CLI进行连接,但没有成功:

W:\mongodb\bin>mongo——主机BIGDOG:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:05:36.098+0930 E QUERY[js]错误:无法连接到服务器BIGDOG:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败

W:\mongodb\bin>mongo——主机192.168.1.51:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://192.168.1.51:27017/ 2018-04-22T11:05:56.508+0930 E QUERY[js]错误:无法连接到服务器192.168.1.51:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败

W:\mongodb\bin>mongo——用户名daveAdmin——密码firetruck1——主机192.168.1.51:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://192.168.1.51:27017/ 2018-04-22T11:07:49.671+0930 E QUERY[js]错误:无法连接到服务器192.168.1.51:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败

W:\mongodb\bin>mongo——用户名daveAdmin——密码firetruck1——主机BIGDOG:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:08:54.305+0930 E QUERY[js]错误:无法连接到服务器BIGDOG:27017,连接尝试失败:网络超时:套接字操作超时: connect@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败

我可以ping服务器并从dev桌面访问其网络共享

如何远程连接?这只是一个简单的本地网络——通过交换机连接的两台计算机

如何远程连接?这只是一个简单的本地网络

从中开始,默认情况下,MongoDB二进制文件,
mongod
mongos
,绑定到
localhost

当仅绑定到本地主机时,这些MongoDB 3.6二进制文件只能接受来自同一台机器上运行的客户端的连接。远程客户端无法连接到仅绑定到本地主机的二进制文件

根据您提供的配置文件,您似乎仍然只绑定到localhost接口(默认)。这解释了为什么当应用程序/MongoShell从同一个MongoDB服务器主机执行时,您能够连接

在您的示例中,您可以尝试使用以下选项运行:

mongod --bind_ip localhost,192.168.1.51 
有关配置参数格式选项,请参见


您可能还对以下内容感兴趣:

您正在运行哪个MongoDB服务器版本?您还尝试过通过@WanBachtiar连接吗?服务器版本为v3.6.3。我没有尝试远程连接到它,因为我的开发计算机上没有安装Mongo。@WanBachtiar好的,我下载了zip文件中的Mongo二进制文件,并尝试手动连接。我已经更新了问题的细节。非常感谢。我现在可以手动连接,也可以通过控制台应用程序连接。这是一个很大的帮助,我将阅读安全强化页面。