前言
在上一篇文章中,我们有提到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
解决
大家可以参考文章中配置方法,设置超时时间。