【发布时间】:2014-10-09 16:05:23
【问题描述】:
我正在编写一个访问远程 MongoDB 的 C# 应用程序。在查询数据库时如何保持连接?我应该实施某种打开/关闭机制吗?或者连接一次并超时会更好吗?我正在使用官方的 MongoDB / C# 驱动程序。
【问题讨论】:
标签: c# .net mongodb visual-studio database
我正在编写一个访问远程 MongoDB 的 C# 应用程序。在查询数据库时如何保持连接?我应该实施某种打开/关闭机制吗?或者连接一次并超时会更好吗?我正在使用官方的 MongoDB / C# 驱动程序。
【问题讨论】:
标签: c# .net mongodb visual-studio database
MongoDB C# 驱动程序在底层维护一个连接池,这在 .NET 中是相当典型的。该池通过为您维护许多打开的连接来工作。当您需要连接时,池将为您提供现有连接(前提是可用)。
要避免的问题是连接中的泄漏——如果连接被打开而不是再次关闭,那么您将破坏连接池的收益,并且每次都需要打开一个额外的连接。此外,如果存在连接泄漏,它可能会消耗您的客户端和服务器上的额外资源。
【讨论】:
using 和 try/catch/finally 是你的朋友