TsgcWebSocketHTTPServer › Events › OnSessionEnd
当 HTTP 会话关闭时触发,无论是显式关闭还是 SessionTimeout 超时后关闭。
property OnSessionEnd: {$IFDEF INDY10_5_7} TIdHTTPSessionEndEvent {$ELSE} TOnSessionEndEvent {$ENDIF};
// {$IFDEF INDY10_5_7} TIdHTTPSessionEndEvent {$ELSE} TOnSessionEndEvent {$ENDIF} = procedure(Sender: TObject) of object
—
OnSessionEnd 在 HTTP 会话从 SessionList 中移除时触发。这可能发生在应用程序显式销毁会话(例如注销时)或 SessionTimeout 在客户端无新活动后过期时。使用此事件释放每会话资源、提交待处理数据或记录会话时长。事件签名取决于底层 Indy 版本(INDY10_5_7 条件编译);正在关闭的会话通常可通过 Sender 获取。仅当 SessionState 为 True 时触发此事件。
procedure OnSessionEnd(Sender: TObject);
begin
Log('session ended: ' + TIdHTTPSession(Sender).SessionID);
end;