C#/MongoDB:如何保持连接的活力?

C#/MongoDB:如何保持连接的活力?,c#,.net,mongodb,visual-studio,database,C#,.net,Mongodb,Visual Studio,Database,我正在编写一个访问远程MongoDB的C#应用程序。在查询数据库时,如何持久化连接?我应该实施某种打开/关闭机制吗?还是连接一次并暂停会更好?我用的是官方的MongoDB/C驱动程序 在后台,MongoDB C#驱动程序维护一个连接池,这在.NET中相当典型。该池通过为您维护许多打开的连接来工作。当您需要连接时,池将为您提供一个现有连接(只要有可用的连接) 要避免的问题是连接中的泄漏——如果连接被打开而没有再次关闭,则会破坏连接池的收益,并且每次都需要打开一个额外的连接。此外,如果存在连接泄漏,

我正在编写一个访问远程MongoDB的C#应用程序。在查询数据库时,如何持久化连接?我应该实施某种打开/关闭机制吗?还是连接一次并暂停会更好?我用的是官方的MongoDB/C驱动程序

在后台,MongoDB C#驱动程序维护一个连接池,这在.NET中相当典型。该池通过为您维护许多打开的连接来工作。当您需要连接时,池将为您提供一个现有连接(只要有可用的连接)


要避免的问题是连接中的泄漏——如果连接被打开而没有再次关闭,则会破坏连接池的收益,并且每次都需要打开一个额外的连接。此外,如果存在连接泄漏,则可能会消耗客户端和服务器上的额外资源。

您好,谢谢您的回答,只有一个问题:如果不关闭连接,会发生什么情况?它们最终会超时吗?如果一个连接保持打开状态,并且从未被垃圾收集,那么它将在后台保持空闲,并且永远不会被释放。通常情况下,你会很幸运,你没有明确关闭的连接会被清理干净——然而,在你被泄漏烧毁几次之后,你会更加小心地确保东西被关闭、处理和垃圾收集。到目前为止,挥之不去的物体是造成网络资源泄漏的最常见原因。简单来说:
使用
尝试/捕获/最终
你的朋友我知道这是一个老问题,但我看不到在驱动程序中使用IDisposable的任何地方,所以我如何关闭@STW的连接?