1

我使用的是 Mongo 服务器版本 2.0.6 而 C# 驱动程序 DLL 版本是:1.3.1.4349

我正在使用这个连接字符串:

mongodb://abcd:27017,efgh:27017/abcd?connectTimeoutMS=30000;socketTimeoutMS=120000

我认为,问题是标志socketTimeoutMS可能不会受到尊重。因为如果我将它设置为 1ms,那么我的大部分查询都应该失败,对吧?

我希望我已经正确理解了这个参数。谁能解释可能发生的事情?

4

1 回答 1

1

套接字超时参数用于使等待读取或写入数据的套接字超时。如果您的服务器接受写入并在 1 毫秒内响应读取数据,您的查询将不会失败。此外,如果实际遵守如此低的超时时间,还取决于底层操作系统。它可能会限制它。

相关代码:

读取:https ://github.com/mongodb/mongo-csharp-driver/blob/8e6850c91893743ebbbd53ebba84d3d4086cdecb/Driver/Internal/MongoConnection.cs#L322-L341

写道:https ://github.com/mongodb/mongo-csharp-driver/blob/8e6850c91893743ebbbd53ebba84d3d4086cdecb/Driver/Internal/MongoConnection.cs#L374-L382

于 2012-10-25T11:25:16.807 回答