处理所有sql连接

时间:2015-12-10 18:12:14

标签: asp.net sql-server connection-pooling sqlconnection

我们正在开发一个大型项目,该项目是开发的Asp.Net网络表单(它在解决方案中添加为网站,而不是项目)。 它有超过十万行遗留代码。它要求约。 500并发用户,现在我们通常会遇到连接池问题。

但真正的问题是解决这个问题并不容易,因为有十万个实例创建sql连接的行也没有处理好。

所有代码的重构可能需要花费很多个月,也许需要半年时间。我们必须找到一个快速的解决方案。

但好处是创建从一个类管理的SQL连接实例。

我们有了一个主意。也许我们可以创建一个并发的SqlConnection包,然后在这个包中添加所有创建的实例,当当前的http请求完成并从asp.net管道到达时,处理所有SqlConnection实例。

你有什么建议?

感谢。

1 个答案:

答案 0 :(得分:0)

对正在使用的Connection类进行子类化。对该子类添加逻辑以将每个新创建的连接添加到您的“包”。然后在必要时使用袋子关闭所有连接。

唯一需要重构的是全局搜索并替换Connection对象声明以使用新类。

该包将是一个静态类级别对象,对于子类连接对象的所有实例都是通用的。