我们正在开发一个大型项目,该项目是开发的Asp.Net网络表单(它在解决方案中添加为网站,而不是项目)。 它有超过十万行遗留代码。它要求约。 500并发用户,现在我们通常会遇到连接池问题。
但真正的问题是解决这个问题并不容易,因为有十万个实例创建sql连接的行也没有处理好。
所有代码的重构可能需要花费很多个月,也许需要半年时间。我们必须找到一个快速的解决方案。
但好处是创建从一个类管理的SQL连接实例。
我们有了一个主意。也许我们可以创建一个并发的SqlConnection包,然后在这个包中添加所有创建的实例,当当前的http请求完成并从asp.net管道到达时,处理所有SqlConnection实例。
你有什么建议?
感谢。
答案 0 :(得分:0)
对正在使用的Connection类进行子类化。对该子类添加逻辑以将每个新创建的连接添加到您的“包”。然后在必要时使用袋子关闭所有连接。
唯一需要重构的是全局搜索并替换Connection对象声明以使用新类。
该包将是一个静态类级别对象,对于子类连接对象的所有实例都是通用的。