MongoDB c# 2.0.1驱动程序连接突然关闭

本文关键字:连接 突然 驱动程序 MongoDB | 更新日期: 2023-09-27 18:16:08

完整的程序代码如下:(除了追随者类,它只有id和用户名- json类型的类)我没有任何用户为db -只是创建了一个简单的集合

class Program
{
    static void Main(string[] args)
    {
        DBClass db = new DBClass();
        db.check();
    }
}
class DBClass
{
    protected string connectionString ="mongodb://localhost:27017";
    protected IMongoClient _client;
    protected IMongoDatabase _database;
    protected IMongoCollection<Follower> collection;
    public DBClass()
    {
        _client = new MongoClient(connectionString);
        _database = _client.GetDatabase("FollowedUsers");
        collection = _database.GetCollection<Follower>("UserData");
    }
    public async void  check()
        {
        var filter = Builders<Follower>.Filter.Eq("id", "266663861");
        var result = await collection.Find(filter).CountAsync();
        Console.WriteLine(result);
        Console.ReadLine();
    }
}

}

这是我在mongod中看到的:

2015-10-06T12:08:24.119+0300 I NETWORK  [initandlisten] connection
 accepted  from 127.0.0.1:50069 #2 (1 connection now open)
 2015-10-06T12:08:24.243+0300 I NETWORK  [conn2] end connection
 27.0.0.1:50069 (0 connections now open)

当我从VS中运行它时,它只是终止,抛出没有异常,这就是我在输出中看到的程序'[11724]MongoTest.vshost.exe'已退出代码0 (0x0)。当我调试它时,我看到它在这一行结束:

var result = await collection.Find(filter).CountAsync();

我是否配置smth错误?

MongoDB c# 2.0.1驱动程序连接突然关闭

您的问题与MongoDB无关。问题的原因是在执行dbCheck时主线程关闭了mongoDb连接。

您应该更改下一行:
1)

public async Task check()

2)

db.check()。等(),