【发布时间】:2021-09-25 11:30:58
【问题描述】:
我在我的 ASP.NET C# Web API 中使用 MongoDB。当我参考 MongoDB 文档时,我发现连接是自动打开和关闭的。
MongoClient 对象将是根对象。它是线程安全的,并且是 处理连接到服务器、监控所需的一切 服务器,并对这些服务器执行操作。 [...] 这是 建议将 MongoClient 实例存储在全局位置,或者 作为静态变量或在具有单例生命周期的 IoC 容器中。 但是,使用相同设置创建的多个 MongoClient 实例 将使用下面相同的连接池。
我真的不明白存储实例或在具有单例生命周期的 IOC 容器中是什么意思。
我可以得到任何解释如何做到这一点的参考吗?直接在我的 CRUD 操作中使用 new MongoClient() 是不是很糟糕。我必须真正管理这些连接吗?我是否必须在代码中处理某些内容才能在 MongoDB 中实现线程安全?
我问这个是因为我的写入和删除操作在多线程上以错误的顺序执行。
如果您需要更多代码,请随时询问。
【问题讨论】:
标签: c# mongodb model-view-controller dependency-injection singleton