所以我已经在过去的两天里一直在这个问题上,我只是不能理解它:我已经创建了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