为了账号安全,请及时绑定邮箱和手机立即绑定

互联网连接关闭一段时间后如何重试连接到数据库

互联网连接关闭一段时间后如何重试连接到数据库

C#
慕田峪4524236 2021-10-09 16:16:24
我有一个用 C# 构建的通知应用程序,用于通知数据库中的任何更改。应用程序在后台运行。但问题是在应用程序启动后,如果互联网关闭,应用程序会抛出 SQLException 。我已经使用 try catch 来处理异常。但我希望我的应用程序尝试连接数据库,并在建立连接后返回主代码。    try            {                using (SqlConnection connection =       new SqlConnection(GetConnectionString()))                {              //i want to return here when the connection is reestablishedusing (SqlCommand command =                    new SqlCommand(GetListenerSQL(), connection))                    {                        connection.Open();                        // Make sure we don't time out before the                        // notification request times out.                        command.CommandTimeout = NotificationTimeout;                        SqlDataReader reader = command.ExecuteReader();                        while (reader.Read())                        {                            messageText = System.Text.ASCIIEncoding.ASCII.GetString((byte[])reader.GetValue(13)).ToString();                            // Empty queue of messages.                            // Application logic could parse                            // the queue data and                             // change its notification logic.                        }                        object[] args = { this, EventArgs.Empty };                        EventHandler notify =                        new EventHandler(OnNotificationComplete);                        // Notify the UI thread that a notification                        // has occurred.                        this.BeginInvoke(notify, args);                    }                }            }            catch(SqlException e)            {            }是否可以在没有 goto 语句的情况下进行。我宁愿避免 goto 语句。
查看完整描述

3 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

如果失败,您应该调用计时器,计时器应该调用后台工作人员。编写 Functionality 以检查后台工作人员中的连接。如果它是真的,你应该停止计时器。并调用通常的过程


查看完整回答
反对 回复 2021-10-09
  • 3 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信