Regarding client software (Ted, Fred, etc), two main parameters are:
•LoginTimeout (in ServerConfig.xml). It defines the time after which an idle login is considered expired and it can be deleted. Default: 20 minutes. When you use defaults, for example, a login is deleted when gn_LoginTable.gn_LastAccess is older than 20 minutes. This parameter affects only the client software.
•AlivePeriod (in ServerConfig.xml). It defines the time interval in which gets updated the gn_LoginTable.gn_LastAccess in database (update performed by the keep-alive process). Default: 5 minutes.
For client software, the cleanup (Back4, srv4, server.dll) and the keep-alive are based on the above parameters.
The Web applications (GNPortal, i4) are based on IIS timeout.
All the applications have internal timers that runs in intervals and modify or control the value of the gn_LoginTable.gn_LastAccess in database. Keep-alive modifies such value, and cleanup checks it.
The following tables show where and how such timers are configured.
Keep-alive:
GNPortal |
|
|
Prerequisites: |
EndlessSessions="true" |
in PortalConfig.xml |
Timer: |
window.setInterval() |
javascript |
When it runs: |
the less between IIS Session Timeout * (default: 20 minutes) and Form Authentication Timeout ** (default: 30 minutes) minus 30 seconds. |
|
Server method call: |
KeepBrowserSessionAlive() |
|
By default, a keep-alive is sent after: |
19 minutes and 30 seconds |
10 minutes since build xxxx |
I4 |
|
|
Prerequisites: |
none |
|
Timer: |
window.setInterval() |
javascript |
When it runs: |
the less between IIS Session Timeout * (default: 20 minutes) and Form Authentication Timeout ** (default: 30 minutes), divided by 2, minus 30 seconds. |
|
Server method call: |
KeepBrowserSessionAlive() |
|
By default, a keep-alive is sent after: |
9 minuti e 30 secondi |
10 minutes since build xxxx |
Clients |
|
|
Prerequisites: |
LoginTimeout > 0 |
in ServerConfig.xml |
Timer: |
System.Timers.Timer |
C# |
When it runs: |
2 minutes |
|
Server method call: |
..\do.ashx?cmd=LoginAlive |
|
By default, a keep-alive is sent after: |
5 minutes |
AlivePeriod |
*) in Web.config
<system.web>
<sessionState mode="InProc" cookieless="false" timeout="20" />
</system.web>
**) in Web.config
<system.web>
<authentication mode="Forms">
<forms loginUrl="Default.aspx" timeout="30" slidingExpiration="true" />
</authentication>
</system.web>
Cleanup:
Back4 |
|
|
Prerequisites: |
cleanupLoginEnabled="true" |
in back4Config |
Timer: |
System.Threading.ManualResetEvent |
C# |
When it runs: |
cleanupLoginInterval (default: 5 minutes) |
10 minutes for new back4Config |
By default, an idle login is removed after |
30 minutes |
cleanupLoginLastAccess |
Srv4 |
|
|
Prerequisites: |
srv4 cleanup |
command prompt |
By default, an idle login is removed after |
30 minutes |
-logintime |
Server.dll (only forclients) |
|
|
Prerequisites: |
CheckLoginTimer > 0 |
in ServerConfig.xml |
Timer: |
System.Timers.Timer |
C# |
When it runs: |
5 minutes |
CheckLoginTimer |
By default, an idle login is removed after |
20 minutes |
LoginTimeout |
Possible causes of the There is no login identified by… or “Cannot open this module: missing valid license or limit reached errors:
•srv4 cleanup executed with the parameter –logintime less than 20 minutes? (AlivePeriod for clients or IIS Timeout for GNPortal and i4)
•back4Config.cleanupLoginLastAccess less than 20 minutes? (AlivePeriod for clients or IIS Timeout for GNPortal and i4)
•Unsynced clocks between server with Back4 (or srv4 cleanup) and the GN4 server?
•Login removed from LogAdmin in un multi-IIS environment?
•Call from one IIS to another IIS? (for example, opening the preview of a pubDest that is configured with the previewUrl that points to another IID)
•The PC in hybernate or sleep that stops the keep-alive?