[TestMethod]
public void TestLoop()
{
var server = MongoServer.Create(
@"mongodb://user:password@dbh74.mongolab.com:2700/XXX");
var database = server["XXX"];
MongoCollection<Item> sourceCollection =database.GetCollection<Item>("Item");
var counter = 0;
int batchSize = 200;
List<item> batch = new List<item>();
foreach (var item in sourceCollection.FindAll().SetBatchSize(batchSize))
{
counter++;
batch.Add(item);
}
}
这是一个简单的测试函数,用于检索集合以进行测试。它之前工作正常,但它已损坏并引发以下错误。
无法从传输连接中读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。
当光标想要获取下一批数据时抛出此错误。似乎连接已断开,因此我修改了代码以解决强制重新连接的问题。
[TestMethod]
public void TestLoop()
{
var server = MongoServer.Create(
@"mongodb://user:password@dbh74.mongolab.com:2700/XXX");
var database = server["XXX"];
MongoCollection<Item> sourceCollection =database.GetCollection<Item>("Item");
var counter = 0;
int batchSize = 200;
List<item> batch = new List<item>();
foreach (var item in sourceCollection.FindAll().SetBatchSize(batchSize))
{
//serverX.Reconnect();
counter++;
if (counter% batchSize == 0)
{
server.Reconnect();
}
batch.Add(item);
}
}
我想知道我的原始代码有什么问题。唯一不同的是我的 mongodb 托管 mongolab 刚刚将其版本提升到 2.0.2。任何提示都值得赞赏。