DESCRIPTION
I recently developed a Sitecore Module to export users including the custom profiles.
This website has more than 30.000 (30 thousand) users registered so this module needs a few minutes to be completely executed.
In this specific situation the Sitecore ‘Client’ session was expiring before the module has finished and interrupting its execution.
So it is necessary to increase the Session timeout.
SOLUTION
According to your website configuration there could be up to 4 values on the web.config that need to be updated.
httpRuntime
<!-- executionTimeout="[seconds]" - time in seconds before request is automatically timed out --> <httpRuntime requestPathInvalidCharacters="<,>,*,%,\" maxRequestLength="512000" executionTimeout="180" enableKernelOutputCache="false" />
Authentication Client Session Timeout
<!-- AUTHENTICATION CLIENT SESSION TIMEOUT Specifies the number of minutes before Sitecore considers user authentication session tickets as expired. This setting is only relevant for users logging in to Sitecore Client and when the Sitecore license has a limited number of concurrent editors. All expired sessions will automatically be removed when a new user tries to log in and the maximum number of concurrent editors has been reached. The default is 60 minutes (1 hour). --> <setting name="Authentication.ClientSessionTimeout" value="60" />
Authentication
<!-- AUTHENTICATION This section sets the authentication policies of the application. Possible modes are "Windows", "Forms", "Passport" and "None" --> <authentication mode="None"> <forms name=".ASPXAUTH" cookieless="UseCookies" timeout="180" /> </authentication>
If your sessionState is managed by Database then you need to set the Session State.
Session State Settings
<!-- SESSION STATE SETTINGS By default ASP .NET uses cookies to identify which requests belong to a particular session. If cookies are not available, a session can be tracked by adding a session identifier to the URL. To disable cookies, set sessionState cookieless="true". Note that Sitecore does not support cookieless sessions Timeout in Minutes <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20"/> --> <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" />
Client Persistent Login Duration
<!-- CLIENT PERSISTENT LOGIN DURATION Specifies the number of days before client "remember me" information expires. The default is 180 days. --> <setting name="Authentication.ClientPersistentLoginDuration" value="180" />