請問如何在intraweb程式中取得session數 |
尚未結案
|
toliver3000
一般會員 發表:8 回覆:3 積分:2 註冊:2003-08-01 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
可以用 TIWServerController 的 OnNewSession 和 OnCloseSession 自行加減一變數, 如:
unit ServerController; interface uses SysUtils, Classes, IWServerControllerBase, IWBaseForm, HTTPApp, // For OnNewSession Event UserSessionUnit, IWApplication, IWAppForm; type TIWServerController = class(TIWServerControllerBase) procedure IWServerControllerBaseNewSession(ASession: TIWApplication; var VMainForm: TIWBaseForm); procedure IWServerControllerBaseCloseSession(ASession: TIWApplication); private public ActiveSessions : Integer; end; .... implementation .... procedure TIWServerController.IWServerControllerBaseNewSession( ASession: TIWApplication; var VMainForm: TIWBaseForm); begin ASession.Data := TIWUserSession.Create(nil); Inc(ActiveSessions); end; procedure TIWServerController.IWServerControllerBaseCloseSession( ASession: TIWApplication); begin Dec(ActiveSessions); end;讀取 Session 數: uses ServerController; procedure TIWForm1.IWButton2Click(Sender: TObject); begin WebApplication.ShowMessage(InttoStr(IWServerController.ActiveSessions)); end;註: 如果是 StandAlone Mode 可以直接讀取 TIWStandAloneServer.ActiveSessions Property 如 uses IWMain; type TempMain=class(TFormIWMain); // 爲了取得 Protected 區段 procedure TIWForm1.IWButton1Click(Sender: TObject); begin WebApplication.ShowMessage(InttoStr(TempMain(formIWMain).FStandaloneServer.ActiveSessions)); end; |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |