【发布时间】:2008-09-27 19:04:37
【问题描述】:
我有一个令人头疼的应用程序。它是一个通过 Web 服务连接到 SQL Server 2005 的 .NET 应用程序。该程序的网格由易于超时的长时间运行的存储过程填充。在超时并抛出 SqlException 的情况下,没有执行关闭连接的处理。
这种情况的实际后果是什么?我认为框架或 SQL Server 可能会以一种或另一种方式处理它,但我不确定。
加法 该程序在早上总是运行良好,但使用一个小时左右后它基本上停止工作。问题不在于我不知道如何正确编码连接。我需要知道这些症状是否可能是由未关闭的连接引起的。更改生产代码是一件大事,我想知道这至少有可能成为问题。
结论 我设计这种失败发生在数百个同时连接上。我永远无法在应用程序环境中重现故障情况。将最佳实践答案标记为正确。谢谢大家。
【问题讨论】:
-
我认为标签应该是 sql-server 而不是问题显示的两个单独的标签
-
听起来您在生产环境中打开了连接池。启用池化后,即使您告诉它们关闭连接也不会关闭,因此您不关闭它们也没关系。
标签: .net sql sql-server sql-server-2005 web-services