'too many Sessions' 错误(100分)

J

jeffzxc

Unregistered / Unconfirmed
GUEST, unregistred user!
应用服务器的poling是仿照Delphi5自带的例子pooler改写的.
许多客户端同时登陆,长时间运行后,产生'too many Sessions'错误,跟踪发现
当前pool池里才有12个连接对象,而我设置的是20个.奇怪的是我把应用服务器和
Midas服务程序socksvr.exe都关闭重新运行,客户端连接仍有该错误,只有重起计
算机才解决该问题,太可怕了.
感觉是资源没有释放的问题,如何改进,请高手支招.
 
为什么使用SocketConnection?你能使用DCOMConnection吗?那个稳定性好些。
 
我怀疑问题出在SESSION产生后不能在短时间内自己KILL的问题。
也就是说,在一个客户断开后,他产生的SESSION仍存在,直到SESSION超时为止。
改进方法我还没想出来,我也在写WEB时发现过这个问题。
 
不会啊,产生'too many Sessions'错误,但曾经有客户说不稳定,这个客户不用Pooler就好了。
 
to many sessions? BDE有個Session的限制﹐你改用ADO就應該沒問題了
BDE在C/S上很穩定﹐在N_Tier上問題多多,用ADO是唯一的選擇
另外我對你講過﹐Demo里那個例子很簡單﹐實際的Pooling要復雜
你試著拉一個數據集﹐在as_GetRecords后不要UnLock,那么List中的連接
會不斷增加﹐最終超出MaxCount限制而出錯'Unable to lock RDM'.也就是說﹐
很重要的一點是檢測出死掉的連接并Kill掉﹐好象Oracle里那樣
最后重復一下﹐BDE的內存管理有問題﹐在多層中不要用
 
wlp兄弟:
我最近搞三层结构,老板要的很紧,市场压力也很大,我必须在一个星期内解决中间应用
服务器的稳定性问题,所以可能会有很多问题要向老兄请教,不知你是否能够留下你的E_mail
地址,我好和你联系.
如果有需要兄弟的地方,千刀万刮,再所不辞!
 
最简单的方法,不用session
 
顶部