我应该使用多少个SqlConnection实例?

12
背景:
我有一个应用程序,我已经很好地将接口逻辑与中间层逻辑分离开来,后者处理对数据库的查询。我做了很多自定义排序和缩小范围的操作,因此没有使用太多的SqlDataSources,而是使用大量带有SqlCommand的存储过程进行调用。
我正在使用Forms身份验证来创建受保护的子目录。在受保护的目录中的web.config文件中,我有更多的连接字符串,这些连接字符串链接到具有更高权限角色的用户。
问题:
我应该在我的中间层中共享一个SqlConnection对象以消除重复代码,还是为每个操作创建一个新实例?如果我需要更改连接字符串以访问受保护的存储过程,则可以重新实例化共享的SqlConnection。这里是否有最佳实践?
3个回答

13
不要担心共享来节省资源,.NET 会为您管理它,它默认情况下进行连接池处理。编写易于理解的清晰代码,并让.NET 处理这些细节。

11

2
“using”语法绝对是正确的选择(我认为它也可以用于文件/流访问)。 - Jon Onstott
2
当然可以,对于任何可丢弃的资源(实现IDisposable接口的类)。 - Jordão

2
创建一个新的连接(并妥善处理),并利用连接池。 连接池

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接