我去了代码审查社区查看我制作的代码片段。如果数据库存在网络连接问题,他们似乎对我用来保持程序运行的方法特别感兴趣。我已经在下面发布了我的问题的链接。
我的问题是,在与数据库连接丢失的情况下,保持程序运行的最佳做法是什么?
问题中的代码
private void ReestablishDatabaseConnection()
{
bool broken = true;
conn.ConnectionString = r.getSQLConnString();
while (broken)
{
System.Threading.Thread.Sleep(30000);
try
{
conn.Open();
conn.Close();
broken = false;
}
catch (Exception){}
}
}
答案 0 :(得分:0)
我向你们提出的问题是,保持一个人的最佳做法是什么? 程序在运行时与数据库的连接丢失了吗?
这取决于应用程序的类型。
从当前代码中,如果机器无法连接到数据库,并且如果您调用此方法一次,那么它将继续在循环内运行!
因此,它只会浪费CPU周期而无所作为。
我建议您丢弃此代码,不要太在意代码中的连接问题。使用适当的异常记录处理它们。并且,您可以尝试重新连接2-3次或更多次,具体取决于应用程序的严重程度。
如果出现网络错误或任何错误/异常,请进行正确的日志记录,并妥善保管问题得到妥善处理,不会造成任何生产损失。
关于提示部分,不要因为异常而让您的代码无法运行或中断。
以这样的方式设计您的应用程序:从用户的角度来看,他/她不会对功能感到沮丧,您也应该对应用程序进行控制。