Modifying the Session Timeout Value for the Customer Portal
THIS ARTICLE APPLIES TO:
PROCESS:
The following instructions describe changing the session timeout for the Knowledgebase Portal Style 1-3 Customer Portals from the default 20 minutes to 60 minutes. These instructions will not work with Portal Style 4. The Keep Session Alive option in the Admin Control Panel should be used instead.
Important Note: The design of Knowledgebase utilizes Microsoft IIS for application session management. Feature development and testing assume that default IIS session timeout values, as well as the default session values of the Knowledgebase are used for all customer deployments. While it is possible to adjust IIS and Knowledgebase session timeouts, it is not recommended. Support of systems that have non-default session timeout values will be on a best effort basis only.
The primary function of a session time out value is to recycle stale connections in order to free up resources (memory, processing power, Database connections, etc). The time out period is configured within Microsoft Internet Information Services (IIS) and within the Knowledgebase application, so there is no way to completely eliminate it, but you can extend the time out value by following the steps below.
Be aware that there is a drawback: Since the sessions will not be refreshing at the normal rate (the default in IIS and the Knowledgebase is 20 minutes), it is possible to see performance slowdowns and possibly even crashes due to dwindling resources caused by several active sessions running for extended periods of time. If you experience decreased performance due to the longer session refresh rate you should adjust the settings back to the default.
Step 1 - Change web.config file
- Log on to the Knowledgebase Application Server.
- In Windows explorer navigate to drive:\Program Files\Knowledgebase.Net\knowledgebase\applicationprogram\ui\http\CustomerPortal (where drive is the drive that Knowledgebase is installed.)
- Select the web.config file.
- Save a copy of the file in case changes need to be reverted.
- Edit the original file in notepad.
- Scroll down to the sessionState section of the file.
- Update the timeout value to read timeout="60". Note: As documented by Microsoft, the timeout value in web.config should be in minutes. Some older versions of the web.config file may have the timeout value set in seconds.
- After you have made the change save the file with exactly the same name and parameters.
Step 2 - Change Web Site properties in IIS
- Right-click My Computer and choose Manage.
- Expand Services and Applications.
- Expand Internet Information Services.
- Select Web Sites.
- Right-click the CustomerPortal web site and choose Properties.
- The CustomerPortal Properties window should open up to the Web Site tab
- Update the Connection timeout value to 3600 seconds
- Verify that Enable HTTP Keep-Alives is checked
- Click the Apply button
- Click the Home Directory tab then click the Configuration button and select the Options tab.
- Set Session timeout to 60 minutes and Click the OK button.
- Click OK on the CustomerPortal Properties window.
Step 3 - Change Application Pool settings in IIS
- In the Computer Management window click Application Pools.
- Right-click the Application Pool used by the CustomerPortal and choose Properties.
- Click the Performance tab.
- Set the Shutdown worker process after being idle for (time in minutes): to 60.
- Click the OK button to close the Computer Management window.
Step 4 - Reset IIS
After changing properties IIS needs to be reset to force the update.
- Click the START button and click Run.
- Type cmd and press [ENTER].
- In the window that opens type iisreset and press [ENTER].
- Once the window says Internet services successfully restarted close the window.
Now you have changed the session timeout value to 60 minutes from the default 20 for users logging into the Knowledgebase Customer Portal.
AFFECTED SYSTEMS & USERS:
ADDITIONAL INFORMATION:
After increasing the session timeout value it is important that logged in users log out of the Customer Portal. Ending the session by closing the browser window is not sufficient.
If users do not log out, unused sessions will build up causing CPU resources to be wasted. This may lead to poor performance and a possible Knowledgebase server crash.
This article applies to non-hosted Knowledgebase installations only. For assistance with Knowledgebase installations which are hosted by Moxie Software please contact Moxie Software Product Support via the escalations procedure listed below.
For Knowledgebase version 9.0.1 Hot Fix 1 and later Portal Style 4, see Article 3998: Disabling Session Time Out for Customer Portal
To Change the session timeout value for KB Admin, see Article 3456: Modifying the Session Timeout Value for the KB Admin Control Panel in IIS6 or Article 6473: Modifying the Session Timeout Value for the KB Admin Control Panel in IIS7.