UPDATE -- process to replicate issue:
1) Create a website project at c:\projects\restart-demo
2) Add default web.config and a dummy aspx page test.aspx
3) Map IIS to point to the root folder c:\projects\restart-demo
4) Monitor application restarts using perfmon, health monitoring, tracking in global.asax Application_End, etc.
5) Request page in browser http://localhost/test.aspx
application start
6) Create new folder c:\projects\restart-demo\asdf
application end
7) Request page in browser http://localhost/test.aspx
application start
8) Rename folder c:\projects\restart-demo\asdf to c:\projects\restart-demo\asdf1
application end
end update
We are using a back-end CMS to generate files and folders in an ASP.NET site.
Users are able to create/modify/delete files and push these out to the web farm.
One problem we have noticed:
When the user creates, renames or deletes a folder, it causes the App Domain to restart. As a consequence, session, cache, etc. are all lost.
Note it doesn't need to be a special folder like /bin or /App_Code either.
Is there any way to prevent this behavior?
It is really hampering performance for two reasons:
- Cache is dumped when app domain restarts
- App domain needs to be re-built after restart