The different between Session Timeout and Idle Timeout in IIS

application-pooliissession-timeout

In IIS, Select Default Web Site > Properties > Home Directory > Application Settings > Configuration > Options, the default Session timeout is 20 minutes. Also, Select Application Pools > DefaultAppPool > Properties, in the Performance tab, there is Idle timeout which is default to 20 minutes too. What is the different between those two timeouts?

Best Answer

The idle timeout determines if, and if so after how many minutes of idle time an AppPool is recycled. Recycling the AppPool frees resources but also means that all cached data (compiled version of ASP.NET applications etc.) of sites that run under that AppPool need to be regenerated when the site is requested again (this can take up to several minutes).

The session timeout setting determines how long a session is valid. Please note that session timeout is only applied to classic ASP (not ASP .NET).

Edit:

The session timeout setting seems to apply to ASP.NET applications as well. You can find a detailed desciption here.

Edit 2:

To clarify this: There are two session timeout settings in IIS. One setting is applied to Classic ASP applications and the other for ASP.NET apps. The former can only be set using the ASP panel if Classic ASP is installed (IIS >= 7 comes without Classic ASP by default).