- The <sessionState timeout="30"></sessionState> setting in web.config file is not respected and users need to re-login to GoldMine Web after 20 minutes
- The sessionState timeout setting in GoldMine Connect's Web.Config file is not respected and users need to re-login to GoldMine Web (GMWEB) / GoldMine Mobile (GMME) after 20 minutes
[STEPS TO REPRODUCE]
1. Browse to the GoldMine Connect >> Web.Config file (by default this is located at C:\Program Files\GoldMine Connect or C:\Program Files\GoldMine Connect).
4. Search for the following entry:
5. By default the entry is:
6. Leave or change the default value to anything higher than 30
9. Login into GoldMine Web or GoldMine Mobile (result is the same).
- Actually there are two settings which need to be verified and/or adjusted and here some general information about both setting and their dependencies.
- The GoldMine web site (like many other web sites also) has its own session timeout value (see below A.) which is rather user (or better specific session) related and also application pool (see below B.) has its own Idle timeout value which is rather application related. Both setting rely on each other, whereby the AppPool Idle Time-out can be considered as more powerful as when it comes into play it will not only recycle the AppPool but also kills current sessions.
A. GoldMine Connect >> Web.config file >> "<sessionState timeout="30"></sessionState>"
- This setting means that your users’ sessions will be persisted until a 30 minute window of idle time has elapsed unless the AppPool's worker process is not recycled either manually by recycling the AppPool or also when performing an IIS reset or automatically when the Idle Time-out limit is reached.
- The reason for this and also explains that the two values are dependent on one another is because the session information is actually stored within the worker process of the application pool. So in case the worker process is shutdown, recylced or killed for any reason, the session information will be lost automatically.[STEPS]
1. Locate the Web.config file for GoldMine Connect. (on default installations this will be available in "C:\Program Files\GoldMine Connect" or "C:\Program Files (x86)\GoldMine Connect")
2. Open this file using a text editor such as the Windows Notepad.
3. Search and adjust the following section "<sessionState timeout=" (the full default value is "<sessionState timeout="30"></sessionState>")
4. By default the setting is "30" which is 30 minutes, change this value to the desired session time out.
- The maximum is 99 (minutes) and the minimum is 1 (minute)
- It is recommended this value should not be set to less than 5 (minutes), and not higher than 60 (minutes).
5. Save the file.
6. Perform an IISreset
7. make sure to verify the AppPool Idle Time-Out setting (see in B.) so that the values at least match
8. Once both settings are adjusted/verified >> Verify the the behavior in either GoldMine Web (GMWEB) or GoldMine Mobile (GMME).
B. The Application Pool >> Advanced Setting >> Idle Timeout setting within IIS
- The AppPool Idle Time-Out setting determines the number of minutes the application pool will be held in memory, with no requests being made, before the application is automatically unloaded from memory.
- On most default IIS installations, this value will default to 20 minutes. (there will be most likely a programmatically change in a future GoldMine Connect release which will set the AppPool default Idle Time-out also to 30 minutes but it would be always recommended to verify this)
- It needs to be made sure that the AppPool Idle time-out setting has at least match the sessionState time out setting as only then the Session.Timeout parameter will work as expected, but ideally the AppPool Idle time-out value is always greater than the website session timeout value because whenever the application session timeout is reached, the application pool will be restarted and therefore 'kill' the session anyways regardless if the sessionTimout setting was met or not.
- This setting needs to be verified and adjusted in the GMMobileAppPool within IIS
1. Browse to Application Pools
2. Right Click on GMMobileAppPool (by default installation) >> Advanced
3. Scroll to the Process Model section
4. Verify / Adjust the "Idle Time-out (minutes) (In this example we set the SessionState Timeout to 45 minutes, so wwe will set the AppPool Idle Time-out to 60 minutes)
6. Recycle the AppPool via Right Click >> Recylce or perform an IISreset
Additional Note: In addition there is also another setting, which controls the maximum number of minutes the application pool can be active before it is recycled - this setting is the "Regular Time Interval (minutes)" Recycle trigger. This feature is intended to recycle the process on a regular basis (normally every 1-2 days) to avoid the effects of memory leaks etc. that may exist in software