从C#2.1驱动程序正确关闭MongoDB数据库连接?

KDe*_*ker 9 c# mongodb

我刚刚开始将MongoDB集成到我的应用程序中,我遇到了一些问题.在我的应用程序中,我使用最新的2.1版本的MongoDB C#驱动程序,并仅使用MongoDB进行应用程序日志记录.

目前在显示我的主应用程序之前,Form我首先检查是否mongod.exe正在运行,如果不是,我启动它.然后,当我的main Form显示时,它会打开与数据库的连接,以供下面使用.

public void Open()
{
    Client = new MongoClient("mongodb://localhost:27017");
    Database = Client.GetDatabase(DBName);
    Collection = Database.GetCollection<BsonDocument>(ColName);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我的应用程序关闭时,我应该如何正确关闭此连接?

还有一些考虑因素我应该考虑mongod.exe每次申请结束时离开跑步而不是退出吗?

我已经搜索过几次试图找出是否有一种正确的方法来关闭连接,但没有找到任何非常具体的方法.有一个旧的SO帖子(我现在似乎无法找到)提到一种.Dispose方法,虽然我似乎无法在最新的驱动程序中找到它,也无法从我的IDE自动完成.

ash*_*999 16

截至今天的MongoDB版本(v2.0.1.27for MongoDB.Driver),没有必要关闭或处理连接.客户端自动处理它.

来自文档:

MongoClient对象将是根对象.它是线程安全的,只需处理连接到服务器,监视服务器以及对这些服务器执行操作.[...]建议将MongoClient实例存储在全局位置,可以是静态变量,也可以是具有单例生存期的IoC容器.但是,使用相同设置创建的多个MongoClient实例将使用下面的相同连接池.

在这个SO答案中有一个部分/旧的线程安全的MongoDB类列表.