MongoDB 超时异常 (C#)

MongoDB timeout Exception (C#)

我们正在使用 Microsoft 框架 (v3) 以及 cosmos 的 mongo API 开发聊天机器人。直到最近,当机器人突然停止在本地工作时,我们才遇到任何问题。在进一步检查中,我们发现我们遇到了超时异常。

"A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "ReplicaSet", Type : "ReplicaSet", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/hakeemdb.documents.azure.com:10255" }", EndPoint: "Unspecified/hakeemdb.documents.azure.com:10255", State: "Disconnected", Type: "Unknown" }] }. "

有趣的是,该机器人在部署到 Skype 时仍然可以运行,问题似乎只发生在本地。直接查询数据库时,查询 运行 没有问题,只有当 运行 在本地运行机器人时似乎才有问题。我们已经将所有 mongo 驱动程序更新到最新的稳定版本,但没有成功。

我们还尝试了来自以下链接的解决方案:

MongoDB C# 2.0 TimeoutException

https://jira.mongodb.org/browse/CSHARP-1302

https://jira.mongodb.org/browse/CSHARP-2540

我也发现这个堆栈溢出 post:

但我有点不确定它是什么意思,尽管它似乎非常接近我们遇到的问题。

我没有包含任何代码,因为我认为这不是代码问题,因为它开始时没有对任何代码进行任何更改。

另一点可能很重要的是,最近我们在 azure 中的所有资源都转移到了一个新区域,因此在此期间可能会发生一些变化。我们认为可能在迁移过程中更改了一些安全设置,并且我们工作场所的 IP 被阻止,但数据库似乎设置为允许来自所有来源的连接,所以我不确定这是否是问题所在

如有任何建议或想法,我们将不胜感激

最后,我工作的 wifi 网络更新了他们的防火墙设置,我们用于 Mongo 的端口之一被阻止了。我们通过连接到物理本地网络来绕过端口限制,之后就可以正常工作了