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 implie
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 a new instance of w3wp
process is being launched 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. 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 process kept running, nothing happened.