0
在我的應用程序中,無論何時用戶登錄,他都會添加到一個存儲有關已記錄用戶數據的表中,但是我沒有任何實現將這些用戶從我的表中取出。當他以其他方式註銷或丟失會話時,我需要將該用戶從我的桌面中刪除。是否有一個「SessionDestroy」事件或類似的東西,這使我可以在銷燬的會話上實現一些東西?Datasnap:會話銷燬事件
在我的應用程序中,無論何時用戶登錄,他都會添加到一個存儲有關已記錄用戶數據的表中,但是我沒有任何實現將這些用戶從我的表中取出。當他以其他方式註銷或丟失會話時,我需要將該用戶從我的桌面中刪除。是否有一個「SessionDestroy」事件或類似的東西,這使我可以在銷燬的會話上實現一些東西?Datasnap:會話銷燬事件
您可以將「會話事件」(使用匿名方法)添加到會話管理器中。自2009年以來,我猜(但在XE上測試過)。適用於REST會話等。示例代碼:
TDSSessionManager.Instance.AddSessionEvent(
procedure (Sender: TObject; const EventType: TDSSessionEventType;
const session: TDSSession)
begin
case EventType of
SessionCreate :
begin
session.UserRoles.Add('guest'); // guest role is fixed
...
end;
SessionClose:
begin
FreeAndNil(some_more_data);
end;
end;
end);