TROInMemorySessionManager Class

From RemObjects Wiki
Jump to: navigation, search

This is a Library topic for RemObjects SDK for Delphi
This page is generated from external data, please do not update

InterfacesClassesAliasesImplements

Contents

Overview

TROInMemorySessionManager implements a session manager that stores session data in local memory.


Location

uROSessions.pas


Properties

Clearing   protected     (declared in TROCustomSessionManager)



property Clearing: boolean read


Critical     (declared in TROCustomSessionManager)



property Critical: TCriticalSection read


MaxSessions     (declared in TROCustomSessionManager)

Specifies the maximum number of sessions that will be allowed. -1 (the default) indicates that no limit on number of sessions will be enforced. Allowing a server to run without enforcing any limit on the number of sessions might pose a security risk, as malicious clients could theoretically start an infinite number of sessions by performing repeated requests with changing Client IDs, until server memory is depleted. You should make sure to either set a limit, or tie session creation to user authentication, so that only valid client users can obtain a session(and possibly only one session per login).



property MaxSessions: integer read write


SessionCheckInterval



property SessionCheckInterval:


SessionDuration

The time, in minutes, that a session will persist before timing out (default is 15 minutes). The timeout for each individual session will be reset every time the session is accessed; after SessionDuration minutes have passed without access to the session, it will be discarded. Note: The exact handling of the timeout processing depends on the implementation of the specific session manager, which might check session timeouts at intervals. Therefore, sessions might live slightly longer than the specified timeout.



property SessionDuration:


Instance Methods

constructor Create   override



constructor Create(aOwner: TComponent)


Parameters:

  • aOwner:


destructor Destroy   override



destructor Destroy


Assign   override     (declared in TROCustomSessionManager)



procedure Assign(Source: TPersistent)


Parameters:

  • Source:


CheckProperties   virtual     (declared in TROCustomSessionManager)



procedure CheckProperties


CheckSessionIsExpired     (declared in TROCustomSessionManager)



function CheckSessionIsExpired(aSession: TROSession): boolean


Parameters:

  • aSession:


ClearSessions     (declared in TROCustomSessionManager)

Discards all sessions within the session manager, so that any new call from a client will start with a fresh session.


procedure ClearSessions(OnlyExpired: boolean)


Parameters:

  • OnlyExpired:


CreateSession     (declared in TROCustomSessionManager)



function CreateSession(const aSessionID: TGUID): TROSession


Parameters:

  • aSessionID:


CreateTimerByRequest   protected     (declared in TROCustomSessionManager)



procedure CreateTimerByRequest


DeleteSession     (declared in TROCustomSessionManager)



procedure DeleteSession(const aSessionID: TGUID; IsExpired: boolean)


Parameters:

  • aSessionID:
  • IsExpired:


DeleteTemporarySession     (declared in TROCustomSessionManager)



procedure DeleteTemporarySession(var Session: TROSession)


Parameters:

  • Session:


DoCheckSessionIsExpired   protected virtual     (declared in TROCustomSessionManager)



function DoCheckSessionIsExpired(aSession: TROSession): boolean


Parameters:

  • aSession:


DoClearSessions   protected override



procedure DoClearSessions(OnlyExpired: boolean)


Parameters:

  • OnlyExpired:


DoCreateSession   protected virtual     (declared in TROCustomSessionManager)



function DoCreateSession(const aSessionID: TGUID): TROSession


Parameters:

  • aSessionID:


DoDeleteSession   protected override



procedure DoDeleteSession(const aSessionID: TGUID; IsExpired: boolean)


Parameters:

  • aSessionID:
  • IsExpired:


DoFindSession   protected override



function DoFindSession(const aSessionID: TGUID; aUpdateTime: Boolean): TROSession


Parameters:

  • aSessionID:
  • aUpdateTime:


DoGetAllSessions   protected override



procedure DoGetAllSessions(Dest: TStringList)


Parameters:

  • Dest:


DoGetSessionCount   protected override



function DoGetSessionCount: integer


DoNotifySessionsChangesListener   protected virtual     (declared in TROCustomSessionManager)



procedure DoNotifySessionsChangesListener(const aSessionID: TGUID; aSessionAction: TROSessionsActions; Sender: TObject)


Parameters:

  • aSessionID:
  • aSessionAction:
  • Sender:


DoReleaseSession   protected override



procedure DoReleaseSession(aSession: TROSession; NewSession: boolean)


Parameters:

  • aSession:
  • NewSession:


DoTimerTick   protected virtual     (declared in TROCustomSessionManager)



procedure DoTimerTick(CurrentTickCount: cardinal)


Parameters:

  • CurrentTickCount:


FindSession     (declared in TROCustomSessionManager)



function FindSession(const aSessionID: TGUID; aUpdateTime: Boolean): TROSession


Parameters:

  • aSessionID:
  • aUpdateTime:


GetAllSessions     (declared in TROCustomSessionManager)

Returns a string list containing the IDs of all currently active sessions. Depending on the session manager and on your application architecture, this list can be huge, especially when using a database based session list that is shared by a large server farm. Obtaining the full list of sessions can be a costly process.


procedure GetAllSessions(Dest: TStringList)


Parameters:

  • Dest:


GetSessionCount     (declared in TROCustomSessionManager)



function GetSessionCount: integer


KillTimer   protected     (declared in TROCustomSessionManager)



procedure KillTimer


Notification   protected override     (declared in TROComponent)



procedure Notification(AComponent: TComponent; Operation: TOperation)


Parameters:

  • AComponent:
  • Operation:


RegisterSessionsChangesListener   protected virtual     (declared in TROCustomSessionManager)



procedure RegisterSessionsChangesListener(aListener: IROSessionsChangesListener)


Parameters:

  • aListener:


ReleaseSession     (declared in TROCustomSessionManager)



procedure ReleaseSession(var aSession: TROSession; NewSession: boolean)


Parameters:

  • aSession:
  • NewSession:


ROFreeNotification     (declared in TROComponent)



procedure ROFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


RORemoveFreeNotification     (declared in TROComponent)



procedure RORemoveFreeNotification(AComponent: TComponent)


Parameters:

  • AComponent:


SendRemoveNotification   protected     (declared in TROComponent)



procedure SendRemoveNotification(AComponent: TComponent)


Parameters:

  • AComponent:


UnRegisterSessionsChangesListener   protected virtual     (declared in TROCustomSessionManager)



procedure UnRegisterSessionsChangesListener(aListener: IROSessionsChangesListener)


Parameters:

  • aListener:


Events

OnBeforeDeleteSession     (declared in TROCustomSessionManager)



property OnBeforeDeleteSession: TDeleteSessionEvent read write delegate: procedure Invoke(const aSessionID: TGUID; IsExpired: boolean)


OnCustomCreateSession     (declared in TROCustomSessionManager)



property OnCustomCreateSession: TROCustomSessionCreationEvent read write delegate: procedure Invoke(const aSessionID: TGUID; var Session: TROSession)


OnException     (declared in TROCustomSessionManager)



property OnException: TROSessionExceptionEvent read write delegate: procedure Invoke(aSessionID: TGUID; anException: Exception; var aRetry: Boolean)


OnMaxSessionsReached     (declared in TROCustomSessionManager)



property OnMaxSessionsReached: TROMaxSessionsReachedEvent read write delegate: procedure Invoke(var aFail: Boolean)


OnSessionCreated     (declared in TROCustomSessionManager)



property OnSessionCreated: TSessionEvent read write delegate: procedure Invoke(const aSession: TROSession)


OnSessionDeleted     (declared in TROCustomSessionManager)



property OnSessionDeleted: TDeleteSessionEvent read write delegate: procedure Invoke(const aSessionID: TGUID; IsExpired: boolean)


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples

Personal tools
Namespaces

Variants
Actions
Navigation
products
platforms
special
Toolbox