首页 新闻 赞助 找找看

关于C#异常退出

0
[已解决问题] 解决于 2009-03-12 17:22

如果需要在关闭应用程序时修改数据库,怎么修改?比如QQ里的状态,必须是在正常退出时才能做到,但是如果是直接结束进程就不能修改了,请各位大侠不吝赐教!

随风不飘的主页 随风不飘 | 初学一级 | 园豆:200
提问于:2009-03-12 14:25
< >
分享
最佳答案
0

用握手的方法,属于比较贪婪的方案,而且如果是单边的就不适用了,例如HTTP,小型的C/S这样做也可以,挺好用。不过若果要保证程序正常退出是不可能完成的任务,即使操作系统也无法保证自身的正常退出,比如停电了。所以建议你换一个思路,QQ也是如此,其中一个保证机制就是设置服务器在一个超时范围内收不到客户端的任何包,那么认为你已经不在线了,自然那边是退出了客户端,自动修改客户状态,然后再加上正常退出时同步修改服务端的状态等机制,那就万无一失了。NET里也有这样类似的租赁机制。这样可以避免发起几乎无意思的空链接造成服务端资源泄露。

LT | 初学一级 |园豆:97 | 2009-03-12 15:31
其他回答(2)
0

过一段时间互相通讯一次,如果不通就说明对方已经关闭

李.net | 园豆:730 (小虾三级) | 2009-03-12 14:58
0

那肯定要必须在间隔时间内去通讯,如果不通就已经关闭了

jowo | 园豆:2834 (老鸟四级) | 2009-03-12 15:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册