我有一個簡單的問題,我試圖檢查App.config
中的連接字符串是否有效,並且它內部的服務器&是可訪問的。我曾嘗試下面的代碼,但它仍然無法正常工作: -如何測試連接字符串?
public static bool checkConnectionString(string con)
{
if (ConfigurationManager.ConnectionStrings[con].ConnectionString == "" && !checkConnectionStringValidity(con))
{
return false;
}
else
{
return true;
}
}
public static bool checkConnectionStringValidity(string con)
{
try {
using(var connection = new SqlConnection(con)) {
connection.Open();
return true;
}
} catch {
return false;
}
}
然後我用在主屏幕上面的方法: -
if (Data.checkConnectionString("Utilities"))
{
Application.Run(new Log_In());
}
else
{
Application.Run(new ApplicationMainSettings());
}
我想,當我寫錯誤信息在app.config
該程序指示我到ApplicationMainSettings()
屏幕。
不應該傳遞實際的連接字符串嗎? '...!checkConnectionStringValidity(ConfigurationManager.ConnectionStrings [con] .ConnectionString))' –
您對callConnectionStringValidity的調用不會傳遞實際的連接字符串。 – Simon
看來你在問之前還沒有調試過它。你只是從方法中解析字符串,而不是從App.config中解析。編輯:帕特里克和西蒙已經指出了這一點 – bslein