我的应用程序引起了很多麻烦.它是一个通过Web服务连接到SQL Server 2005的.NET应用程序.该程序具有由长时间运行的存储过程填充的网格,该存储过程易于超时.在超时并且抛出SqlException的情况下,没有用于关闭连接的execption处理.
这种情况的实际后果是什么?我认为框架或SQL Server可能会以这种或那种方式处理它,但我不确定.
添加 程序在早上总是运行良好,但在使用一个小时后它基本上停止工作.问题不在于我不知道如何正确编码连接.我需要知道这些症状是否可以被未闭合的连接所淹没.改变生产代码是一件大事,我想知道至少有可能成为问题.
结论 我设计这种失败发生在数百个同时连接上.从来没有能够在应用程序环境中重现故障情况.标记的最佳实践回答正确.感谢大家.
由于SqlConnection在处理时关闭,我通常使用这种语法
using (SqlConnection conn = new SqlConnection()) { // SqlCode here }