A: 

The application pool will reset when you modify the wed.config and you will lose any session information stored on the server.

Miyagi Coder
@downvoter: Umm ok..so you don't think the resetting the application pool is a bad thing?
Miyagi Coder
A: 

Yes, you can; see this answer.

However, it is not a good idea.
Until ASP.Net restarts the AppDomain, it will not look at web.config.
If you change web.config, your changes will have no effect until the AppDomain is restarted.

SLaks
A: 

You can setup a duplicate IIS container on a different ip address / hostname. Make your modification to the new version and then swap the ip's over. It gets rid of the compile time of the application restart. However, if you rely on in-proc session it'll all go wrong for any current users anyway.

Safest option is to allow it to restart and just pick a good time to do it. You can also set compilation batch = false. This can also speed up the compile time in critical systems.

Robin Day
A: 

Another thread on the matter

Morten Anderson
+1  A: 

You can create an external settings file and then reference it in your web.config. You will need to change the attribute "restartOnExternalChanges" to false in your machine.config file.

See: http://msdn.microsoft.com/en-us/library/ms228057.aspx

brheal