在具有大约 5 个使用相同数据库的 Web 方法的 ASP.NET Web 服务(C# 4.0)中打开和重用数据库连接的最佳实践是什么?理想情况下,MS Access 和 SQL 服务器的答案是相同的。
全局私有变量:
一个。优点:如果更改数据库提供程序,易于维护
湾。缺点:不能使用“using”子句,连接可能保持打开太久——连接大约保持打开多长时间?
将 db 连接作为方法参数传递:
一个。优点:可以在不需要时关闭连接使用'using'子句
湾。缺点:到处维护和传递参数很烦人
在任何方法需要时使用 using 子句打开和关闭连接:
一个。问题:这是最慢的,因为您必须多次重新打开同一个连接?或者因为幕后的连接池,这不是更慢吗?因此,这可能是最佳实践……?
湾。问题:连接池是否仅与 SQL 服务器相关,因此不适用于 MS Access?
起初我正在考虑使用全局私有变量(OleDbConnection),因为我在 Web 方法和支持方法中使用到主数据库的连接相当多,并且将在不久的将来从 MS Access 迁移到 SQL Server,并将很容易做出改变。
但是在阅读了一些文章后,例如使用 ASP.NET 和 Web 服务时最有效地获取 SQL 连接
似乎我可以使用“使用”子句在任何地方按需创建新连接而不会受到性能影响?