我的应用程序是一个WPF C#数据库应用程序,可与sql Server 2008和Entity Framework一起使用。
如果sql server停止或...,我的应用程序挂起但我想在发生此问题时向用户显示一条消息。 请帮帮我怎样才能做到。
答案 0 :(得分:2)
您可以检查sql server服务是否正在运行
http://support.microsoft.com/kb/912426/en-us
然后在try-catch块中执行简单选择以检测您是否拥有数据库的用户权限。
try
{
var b = db.Table.FirstOrDefault();
}
catch(Exception e)
{
ShowMessageBox(e.Message);
}
答案 1 :(得分:1)
由于 - 通常 - 您可能没有权限或能力来检查sql server的服务状态,尝试使用短暂超时(5秒或更短)连接到您的数据库捕获异常并向用户显示您想要的内容。 / p>
var csb = new SqlConnectionStringBuilder(yourConnectionString);
csb.ConnectTimeout = 5;
try
{
using(var c = new SqlConnection(csb.ToString())
{
c.Open();
}
}
catch(Exception ex)
{
Show the exception to user
}
go on your own