我使用.NET驱动程序2.2.4版(使用.NET 4.5的应用程序)连接到MongoDB版本3.2,并且我收到了一些超时异常。
场景细节:我们有一台带有2台服务器的ReplicaSet,其中一台服务器还有一台在端口27018上运行的仲裁器。
正在连接的应用程序在两台服务器(A和B)中与Windows Server 2008 R2一起运行。
在服务器A中,所有连接和请求都能正常工作,但在服务器B中,第一个连接会引发超时异常,并显示以下错误消息:
使用
选择服务器30000ms后发生超时 CompositeServerSelector {Selectors = ReadPreferenceServerSelector {
ReadPreference = {Mode = Primary,TagSets = []}},
LatencyLimitingServerSelector {AllowedLatencyRange = 00:00:01}}。
群集状态的客户端视图是{ClusterId:" 5",ConnectionMode:
" ReplicaSet",输入:" ReplicaSet",状态:"已断开连接",服务器:
[{ServerId:" {ClusterId:5,EndPoint:
"未指定/ serverA.domain:27017" }",EndPoint:
"未指定/ serverA.domain:27017",状态:"已断开连接",类型:
"未知" },{ServerId:" {ClusterId:5,EndPoint:
"未指定/ serverB.domain:27017" }",EndPoint:
"未指定/ serverB.domain:27017",状态:"已断开连接",类型:
"未知" }]}。
第二次尝试时,连接工作并在应用程序的整个生命周期中继续工作。
有人知道初始连接出了什么问题吗?