Foxtable(狐表)用户栏目专家坐堂 → 服务器有问题时,程序挂掉求助


  共有6771人关注过本帖树形打印复制链接

主题:服务器有问题时,程序挂掉求助

帅哥哟,离线,有人找我吗?
temblar
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
服务器有问题时,程序挂掉求助  发帖心情 Post By:2014/2/14 10:25:00 [只看该作者]

服务器不是很稳定,偶尔就会连接不上端口。因为程序里有实时数据更新的代码,所以服务器一有问题程序有时就挂掉,只能任务管理器硬关。

 

我现在是在 NetworkAddressChanged 中有代码如下:(论坛里找的)

Try
    Dim Client As System.Net.Sockets.Socket = New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
    Client.Connect("www.XXXX.net", "10844" )
    Client.Close()
Catch Ex As Exception
    Forms("重新登陆").show
End Try

 

网络连接出问题时 Forms("重新登陆")会打开(窗口afterload里关闭实时更新的代码)

 

但服务器有问题时【重新登陆】窗口不出来,弹出的是foxtable提示窗口(什么DB.....sqlserver...什么的)程序就死掉了

 

请高手帮忙给个思路,拜谢!!!

 

另外问下:项目事件BeforeConnectOuterDataSource 是只有打开项目程序的时候执行代码,还是程序使用中每一次从数据源读写数据的时候都执行?


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/14 10:29:00 [只看该作者]

在ALterLoad事件里也使用以下TRY CATCH 就不会死掉了

 回到顶部
帅哥哟,离线,有人找我吗?
temblar
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
  发帖心情 Post By:2014/2/14 10:39:00 [只看该作者]

【重新登陆】窗口的afterload里加TRY CATCH ?

 

服务器出问题时,我在cmd里telnet其他端口没问题,就是10844端口连不通

我感觉服务器有问题时 Forms("重新登陆").show 就没触发。怎么监控服务器端口连不通?在哪个事件加什么代码?

麻烦Bin老师及众高手帮忙!!

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/14 10:41:00 [只看该作者]

你那里有出错导致程序死掉,就在哪里加入TryCatCh

 回到顶部
帅哥哟,离线,有人找我吗?
temblar
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
  发帖心情 Post By:2014/2/14 10:46:00 [只看该作者]

端口有问题时 所有的数据读取 都不行,哪个项目事件能监控服务器端口?

 

难道所有表格及窗口事件的代码里 涉及到数据源读写的都要 TryCatCh么

 

谢谢bin老师


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/14 10:53:00 [只看该作者]

这样做是最稳妥的.  我建议你把通讯的代码写成内部函数,然后再函数里添加TRYCATCH  然后别的地方再调用

这样方便维护代码.

 回到顶部
帅哥哟,离线,有人找我吗?
temblar
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:313 积分:2913 威望:0 精华:0 注册:2012/7/20 16:04:00
  发帖心情 Post By:2014/2/14 10:57:00 [只看该作者]

明白  谢谢!!

 回到顶部