我正在编写C#TCP服务。在此服务中,客户端连接到我们的TCP服务器 获取或写入一些数据。
问题:
早上我们重启数据库服务器,服务失去了连接 数据库。当下一个请求进入我们的系统时,就不再有数据库连接了。
有人知道我能做什么吗?
重启后如何保留或重新连接数据库服务器?
答案 0 :(得分:2)
在您的情况下,我认为最好不要在整个服务生命周期内维护一个开放的SqlConnection到sql数据库。
相反,实例化一个SqlConnection对象,打开它,处理您的查询,然后关闭它:它将使用SQL服务器的内部connection pooling机制。
例如,您可以将每个查询括在打开和关闭连接的代码块中:
using(var cn = new SqlConnection(csString))
{
cn.Open();
... // your query
cn.Close();
}
通过这种方式,当数据库每晚重新启动时,它对您来说是透明的。