首先,我爲我的英語道歉。每隔一秒檢查我的SQL連接而不凍結
我有一個方法來驗證我的連接到SQL(TestConneccion
),並使用計時器來驗證它每一秒。
問題是,當我失去連接時,我的應用程序掛起,而它試圖連接。我正在使用任務來避免這種情況,但我是C#的新手。
我真的很感激幫助
public string testConeccion()
{
var archivo = "";
try
{
odb = DatabaseFactory.CreateDatabase("TESTCONECTION");
ocn = odb.CreateConnection();
if (ocn.State == ConnectionState.Closed)
{
ocn.Open();
}
ocn.Close();
archivo = "true";
}
catch (InvalidOperationException ex)
{
archivo = ex.Message;
}
catch (Exception ex)
{
archivo = ex.Message;
}
finally
{
ocn.Close();
}
return archivo;
}
private void timerMesas_Tick(object sender, EventArgs e)
{
Task<string> T1 = Task.Run<string>(() => oClasePublica.testConeccion());
if (T1.Result == "true")
{
btnEstado.Image = new System.Drawing.Bitmap(TOUCHREST.Properties.Resources.Status_32x32);
}
else
{
btnEstado.Image = new System.Drawing.Bitmap(TOUCHREST.Properties.Resources.Warning_32x32);
}
}
請顯示TestConexion –
的IM代碼,很抱歉,它不是TestConexion,它是TestConeccion()。 –
你似乎缺少'using'語句,因爲我假設你的連接實現了'IDisposable'?此外,你似乎關閉它兩次,(如果連接成功),因爲finally塊將始終執行 – Icepickle