首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么让程序超时断开连接

2014-01-19 
如何让程序超时断开连接delphi编制的erp程序,如何在客户端与服务器的数据库在5分钟内没有数据交互时,自动

如何让程序超时断开连接
delphi编制的erp程序,如何在客户端与服务器的数据库在5分钟内没有数据交互时,自动断开连接,数据交互包括查询、更改、删除。
[解决办法]
每一个 数据库操作的地方 都作一个异常处理,这是原则
try
  
except

end
[解决办法]
1.继承 TADOConnection, TADOQuery 等控件,写自己的 TConnection 和 TQuery;
2.改写Exec, Open, Post 一切与数据库有交互的等方法,一但有交互事件,调用自订的TConnection的OnExchange事件;
3.TConnection.OnExchange事件处理器中纪录最后交互时间;
4.系统下有一Timer,1秒钟一次查询TConnection最后交互时间,若超过5分钟,则:
4.1用个画面阻止用户使用,除非输入用户名,密码;
4.2断掉TConnection;
5.用户输入用户名密码后:
5.1隐藏阻止画面;
5.2设置最后交互时间,重连TConnection,

ok, 这样就行了。
[解决办法]
3层直接在服务端判断时间超时,直接清除session;
2层只能在客户端判断.
[解决办法]
你连接数据库保持5分钟之久?不论如何,没事就别连接,连接了就马上干完要干得时然后立即关闭连接。
[解决办法]
> 你连接数据库保持5分钟之久?不论如何,没事就别连接,连接了就马上干完要干得时然后立即关闭连接。

是这样吗?
连接需要额外的时间,
所以,我通常连上去,基本上C/S框架上,直到关闭Client为止,都不会关闭连接。
现在B/S也一样,通常连上去,就一直用,
Session结束了,只是把connection保留起来,不关闭连接,
直到下次有其他的Session再用。

你真的每次用几秒钟,不用就断开连接?

热点排行