首页 > 解决方案 > MongoDB 超时异常 (C#)

问题描述

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

“使用 CompositeServerSelector { Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector { AllowedLatencyRange = 00:00:00.0150000 } } 选择服务器 30000 毫秒后发生超时。集群状态的客户端视图是 { ClusterId : "1", ConnectionMode : " ReplicaSet”,类型:“ReplicaSet”,状态:“Disconnected”,服务器:[{ ServerId:“{ ClusterId:1,EndPoint:“Unspecified/hakeemdb.documents.azure.com:10255”}”,EndPoint:“Unspecified/ hakeemdb.documents.azure.com:10255",状态:"断开连接",类型:"未知"}] }。"

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

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

MongoDB C# 2.0 超时异常

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

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

我还发现了这个堆栈溢出帖子:

MongoDB C# 驱动程序超时

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

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

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

任何建议或想法将不胜感激

标签: c#azure-cosmosdbazure-cosmosdb-mongoapi

解决方案


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


推荐阅读