mongodb3.6 (五)net 客户端访问mongodb设置超时时间踩过的“坑”

前言

在上一篇文章中,我们有提到net访问mongodb连接超时默认为30秒,这个时间在实际项目中肯定是太长的。而MongoClientSettings 也确是提供了超时属性,如下图:

可实际使用中,仅仅设置这个参数,是不起作用的,下面实例说明。

 设置超时

                        MongoClientSettings setting = new MongoClientSettings();
                        //设置超时
                        setting.ConnectTimeout = TimeSpan.FromMilliseconds(1000);
                        setting.Server = new MongoServerAddress("127.0.0.1", 40001);                       
                        var client = new MongoClient(setting);
                        db = client.GetDatabase(dbName);

启动程序 

 这里不用启动40001上的mongodb服务,可看到如下图的错误信息。我们即时在程序中设置了超时,可程序还是默认30秒才相应返回。其中的原因,大家可以看看这篇文章:Expose Server Selection Timeout via Connection String and MongoClientSettings

 解决

大家可以参考文章中配置方法,设置超时时间。

原文地址:https://www.cnblogs.com/liangxiarong/p/8503519.html