I know that in ASP.NET web application, changing a DLL file located in the bin
folder causes an application recycle.
But I wonder, as the subject implies, whether any file changes cause such behavior? Are simple text files included in this scenario?
And what about sub folders to bin
folder? And their contents?
I know I can try it out myself, but more importantly, I'm looking for proper documentation for this.
You can specify that IIS recycle an application pool at set intervals (such as every 180 minutes), at a specific time each day, or after the application pool receives a certain number of requests.
Application pool(s) recycle. The worker process hosting your applications can recycle due to a configuration change, time limit, idle timeout, excessive memory usage, and many other reasons. Application restart(s).
First, i can not provide a link to an official documentation. But from what i've read every change in the bin-folder(incl. subfolders) will cause the IIS to recycle the application domain.
Abrupt Application Pool Recycling
Any modifications in the Application’s BIN Directory
Making changes in any Configuration File/s, like Web.config or others ( if you have any specific config file in your application say in a directory called App_Config).
Making modifications in the Source code files in APP_CODE Directory. This maybe change in any Source code files, or adding or deleting files from this directory.
Making changes in the Global.asax file
Making Changes in the Machine.config file.
Making any modifications in the Web Application’s Root Directory. This means creating files/subdirectories on the fly can lead to application pool recycling.
Modifications for references of Web Services of App_WebReferences directory.
Modifying the Security Settings of any directory in the Root directory. (Like specifying read security rights for everyone or any other specific user or user group.)
Here's some reading:
NOPE, updating a dll file in the bin folder DOES NOT cause a recycle. At least not with .NET 4.7 on IIS 10 and later
It's when IIS launches a new instance of w3wp
process and the old one is being "politely" terminated (after finishing up on all the requests and background tasks registered with IRegisteredObject
)
ASP.NET does a hot-reload: it detects the update and uses the new version of the .dll for new page requests from then on. I.e. reloads the "app-domain". But this happens within the same w3wp
process. (source)
I just checked this on IIS 10 windows 2016 machine: launched Task Manager and repalce the main .dll file - the w3wp
process kept running, nothing happened.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With