【发布时间】:2018-10-12 11:00:35
【问题描述】:
我有一个包含连接 sql server 的类的 web 应用程序。我已经编写了如下所示的连接类
public SqlConnection DbConnectSql()
{
string str = System.Configuration.ConfigurationManager.ConnectionStrings["conStr"].ToString();
_con = new SqlConnection(str);
if (_con.State == ConnectionState.Open)
_con.Close();
_con.Open();
return _con;
}
当我在生产服务器上使用上述代码时,有时连接没有打开。重新启动 IIS 后连接工作正常。我必须每两天重新启动一次 IIS。工作 sql 连接。我们没有得到这个问题的确切例外。
要解决这个问题,我们是否需要关闭除“_con.State == ConnectionState.Closed”之外的所有其他情况的连接?如果我们这样做,这段代码是否有任何后续影响?
【问题讨论】:
-
我很困惑为什么一个新的连接会被认为是打开的。也许有些问题是你做了一个新的 _con 覆盖旧的而不关闭它。
标签: c# asp.net sql-server iis