如果没有连接,则捕获异常

时间:2013-11-05 12:03:58

标签: c# asp.net sql connection

我在asp.net / c#中有一个更新SQL服务器的网站,目前工作得很公平。但是,我正在考虑把它带到移动设备上,并想知道如果设备失去连接该怎么办。基本上,如果用户试图进行编辑时无法连接,我想抓住它。

基本代码是:

try
{
    Conn.Open();
}
catch (SqlException)
{
    Session["HaveWeUpdated"] = 0;
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "alertMessage", "alert('Error')", true);
}
finally
{
    Conn.Close();
}

如果无法连接,应该弹出弹出消息,并将我们的HaveWeUpdated会话值设置为0.不幸的是,此刻,当我尝试它时(只需将电缆拉出我的电脑) )它进入标准IE8“诊断连接问题”页面,并没有显示弹出消息 - 因此,我猜,它没有被捕获。

1 个答案:

答案 0 :(得分:4)

我认为您对网站的运作方式感到有些困惑。

您在此处编写的代码适用于服务器,而不适用于移动设备。因此,它检查它是否可以连接到数据库;它不会检查您是否可以从移动设备连接到网站。

简单地说,当您拔出电缆时,本地计算机与Web服务器之间的连接将丢失。

澄清更多:

1- Web浏览器请求页面

2- Web服务器接收请求

3- Web服务器调用数据库服务器

4- Web服务器从DB服务器接收响应

5- Web服务器处理响应

6- Web服务器将响应发送到浏览器

7-浏览器处理并显示响应。