19
votes

What is the difference between the following entry in web.config:

 <sessionState timeout="30"/>

And this setting in IIS 7.5 (Default web site > Advanced Settings > Connection Limits) :

enter image description here

I know that the web.config is supposed to apply to the time that the ASP.NET session is kept alive, but what is the IIS setting for?

2

2 Answers

20
votes

The connection timeout is how long a connection from a browser to the server should take till it times out. So, when the browser requests a page/image/resource, how long should IIS wait till it terminates the connection. It is stated in seconds.

It can also be set in the web.config (example is for 2 minutes, 120 seconds):

<limits connectionTimeout="00:02:00" />

The session timeout is how long the session can live. This is across multiple connections and is stated in minutes.

They are two different settings that control different things.

0
votes

I think IIS is the default and if you want to override them, you use web.config:

http://technet.microsoft.com/en-us/library/cc754617%28WS.10%29.aspx

http://en.wikipedia.org/wiki/Web.config