为什么我总是得到[Http 500超时]时,试图从Mongo获取数据?



所以我已经在过去的两天里一直在这个问题上,我只是不能理解它:我已经创建了mongodb上的数据库以及使用Asp.Net可视化工作室模板的Web Api。Api在本地快速工作并给我正确的响应,但当部署到azure时,我总是得到

System.TimeoutException: A timeout occurred after 30000ms selecting a server using CompositeServerSelector

我做了一个粘贴文件夹,显示了整个错误

到目前为止,我已经试过了:

return "Test string"

的工作,但一旦我试图把mongo到这个超时。即使我只是想给数据库命名。

return _mongoclient.GetDatabase("MyDatabase").ToString()

如果连接到MongoLab,将"?connect=replicaSet"添加到连接字符串的末尾

new MongoClient("mongodb://username:password@ds011111.mongolab.com:11111/db-name?connect=replicaSet")

基本上默认是连接到一个复制集成员。但是MongoLab的single - node设置实际上是一个单节点副本集,这导致我们不信任它。附加?connect=replicaSet到您的连接字符串将强制驱动程序移动到副本设置模式,所有将工作。

你可以在这个答案中看到https://stackoverflow.com/a/43484598/19493343

最新更新