【发布时间】:2018-09-29 15:25:48
【问题描述】:
从 .NET 应用程序连接到远程 MongoDb 实例时遇到了一些问题。
我创建了一个非常简单的控制台应用程序,它基本上是一个冒烟测试并带回一个项目。如果我在运行 MongoDb 服务的服务器上运行它,它会毫无问题地与 MongoDb 对话。 ConnectionString 就是mongodb://localhost:27017。
但是,我想在我的开发机器上的开发环境中运行它。我尝试了几种不同的连接字符串(在本文末尾列出),但一直收到超时错误:
使用 CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } } 选择服务器 30000 毫秒后发生超时。集群状态的客户端视图是 { ClusterId : "1", ConnectionMode : "Automatic", Type : "Unknown", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "192.168.1.51: 27017“}”,端点:“192.168.1.51:27017”,状态:“断开连接”,类型:“未知”}]}。
我正在使用mongocsharpdriver的v2.5.1
我已经为服务器上的 27017 端口创建了一个入站规则,甚至完全关闭了防火墙。
我的 Mongo 服务器的 cfg 文件非常基础:
systemLog:
destination: file
path: E:\MongData\mongod.log
storage:
dbPath: E:\MongData\db
directoryPerDB: false
net:
port: 27017
security:
authorization: 'enabled'
我没有任何复制。只是单个实例。
如您所知,我是 Mongo 菜鸟。怎么了?
干杯
连接字符串:
<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 --host BIGDOG:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:05:36.098+0930 E QUERY [js] 错误:无法连接到服务器 BIGDOG:27017,连接尝试失败:NetworkTimeout:套接字操作超时: 连接@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败
W:\mongodb\bin>mongo --host 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,连接尝试失败:NetworkTimeout:套接字操作超时: 连接@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败
W:\mongodb\bin>mongo --username daveAdmin --password firetruck1 --host 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,连接尝试失败:NetworkTimeout:套接字操作超时: 连接@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败
W:\mongodb\bin>mongo --username daveAdmin --password firetruck1 --host BIGDOG:27017 MongoDB外壳版本v3.7.5-85-gb48579fcba 连接到:mongodb://BIGDOG:27017/ 2018-04-22T11:08:54.305+0930 E QUERY [js] 错误:无法连接到服务器 BIGDOG:27017,连接尝试失败:NetworkTimeout:套接字操作超时: 连接@src/mongo/shell/mongo.js:251:13 @(连接):1:6 异常:连接失败
我可以 ping 服务器并从我的开发桌面访问其网络共享。
如何远程连接?这只是一个简单的本地网络 - 通过交换机连接的几台计算机。
【问题讨论】:
-
您运行的是哪个 MongoDB 服务器版本?你也试过通过mongo shell 连接吗?
-
@WanBachtiar 服务器版本为 v3.6.3 。我没有尝试远程连接到它,因为我的开发机器上没有安装 Mongo。
-
@WanBachtiar 好的,我在 zip 文件中下载了 mongo 二进制文件并尝试手动连接。我已经用详细信息更新了问题。
标签: mongodb mongodb-.net-driver