以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网络不稳定导致的出错如何避免  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103019)

--  作者:happyft
--  发布时间:2017/6/29 10:40:00
--  网络不稳定导致的出错如何避免
用户使用的是无线网卡,网络很不稳定,在BeforeShowErrorMessage中使用了下面的代码
If e.Message2.indexof("一般性网络错误") > -1 Or e.Message2.indexof("SQL Server 不存在") > -1 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("网络不通,点击是将退出,点击(否)继续等待网络正常后再操作!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        system.diagnostics.process.GetProcessesByName("Newsource")(0).kill
    Else
        e.Cancel=True
        Return
    End If
end if
用户在操作过程中如果网络突然断了,就会出现提示,但不管用户选择是不是否都会弹出接而连三的出错对话框,用户体验不好,不管是在
NetworkAvailabilityChanged还是在NetworkAddressChanged中写代码也有类似的问题因为用户是可能刚好点击了某个按钮网络出错了,
代码还是继续执行所以就一堆的出错了.如何避免这种情况,网络断开时能生立即停止当前的代码执行,用SystemReady在网络改变时控制能实现吗?

谢谢!

--  作者:有点色
--  发布时间:2017/6/29 10:59:00
--  

 弹出的错误对话框是怎样的提示?你在 BeforeShowErrorMessage 的判断,有可能不彻底。

 

 你直接写 e.Cancel=True 屏蔽所有的错误呢?