0

我正在编写 C# TCP 服务。在此服务中,客户端连接到我们的 TCP 服务器以获取或写入一些数据。

问题:

早上,我们重新启动数据库服务器,服务失去与数据库的连接。当下一个请求进入我们的系统时,不再有数据库连接。

有人知道我能做什么吗?

重启后如何保持或重新连接到数据库服务器?

4

1 回答 1

2

在您的情况下,我认为最好不要在整个服务生命周期内维护与 sql 数据库的开放 SqlConnection 。

相反,实例化一个 SqlConnection 对象,打开它,处理您的查询,然后关闭它:它将使用 SQL Server 的内部连接池机制。

例如,您可以将每个查询包含在打开和关闭连接的代码块中:

using(var cn = new SqlConnection(csString))
{
    cn.Open();

    ... // your query

    cn.Close();
}

通过这种方式,当数据库每晚重新启动时,它将对您透明。

于 2013-02-25T13:45:30.953 回答