小编Dev*_*lem的帖子

C#MongoDB驱动程序忽略超时选项

我们正在使用Mongo DB的C#驱动程序(1.9.1).如果DB不可访问,我们有一些需要运行的回退逻辑,但是默认超时太长.我们试图改变它,但我们放置的值被忽略了.对于测试,我们使用的是无响应机器的IP.

我们尝试在连接字符串中设置超时:

 <add key="Mongo" value="mongodb://xxx.xxx.xxx.xxx:27017/?socketTimeoutMS=2000&amp;connectTimeoutMS=2000&amp;waitqueuetimeoutms=2000"/>
Run Code Online (Sandbox Code Playgroud)

或者通过代码:

var client = new MongoClient(new MongoClientSettings
{
    Server = new MongoServerAddress("xxx.xxx.xxx.xxx"),
    SocketTimeout = new TimeSpan(0, 0, 0, 2),
    WaitQueueTimeout = new TimeSpan(0, 0, 0, 2),
    ConnectTimeout = new TimeSpan(0, 0, 0, 2)
});
Run Code Online (Sandbox Code Playgroud)

两次请求在平均约20秒后超时.

我们设置超时选项的方式可能有什么问题.

c# timeout mongodb

10
推荐指数
1
解决办法
8444
查看次数

标签 统计

c# ×1

mongodb ×1

timeout ×1