We are receiving a problem whereby every time we copy a dll to the bin directory, our main domain on the website grinds to a halt and the only way to bring it back up is by restarting the "WWW Publishing Service".
We run a website which contains a number of IIS applications running off a single server where each of these applications are configured to run off different application pools.
We have a large codebase which contains over 280 aspx pages across the site. Our main domain contains about 100 aspx pages whilst the subdomains contain 15 or 20 each.
When we do a build we are currently generating a bunch of dlls which we manually copy into the production servers bin directory. As soon as we do this the IIS obviously kicks off a recycle compiling each of the aspx pages and code behinds. At this point, the site essentially grinds to a halt (sometimes it needs to be restarted - by restarting the web publishing service - to wake it up again).
The curious thing is, this only happens when we deploy to the main domain IIS application, i.e. the www. If we deploy a bin file to the sub domain in the same way, it almost instantly works.
Even if I do an iisreset.exe, this does not seem to resolve the problem.
Few Questions:
Some specs:
Any assistance would be appreciated. Thanks in advance.
ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Active Server Pages Network Enabled Technologies. ASP.NET (software)
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
No. The . NET Framework is a bunch of classes(libraries) abstracting some lower-level windows functionality. C and C++ are languages.
. NET was fully written in C and C++ because the base was in assembly language. Integration of assembly with C is much easier compared to newer languages.
When you put an app_offline.htm
file in the wwwroot of your main domain the IIS site goes offline. This is default behavior of IIS as Scott Gu described. When you do this all dlls can be safely overwritten. And when you delete the app_offline.htm
file your application will be start up the next time a request comes.
Read more about app_offline.htm
here and here.
Basically, if you place a file with this name in the root of a web application directory, ASP.NET 2.0 will shut-down the application, unload the application domain from the server, and stop processing any new incoming requests for that application. ASP.NET will also then respond to all requests for dynamic pages in the application by sending back the content of the app_offline.htm file (for example: you might want to have a “site under construction” or “down for maintenance” message).
This provides a convenient way to take down your application while you are making big changes or copying in lots of new page functionality (and you want to avoid the annoying problem of people hitting and activating your site in the middle of a content update). It can also be a useful way to immediately unlock and unload a SQL Express or Access database whose .mdf or .mdb data files are residing in the /app_data directory.
Once you remove the app_offline.htm file, the next request into the application will cause ASP.NET to load the application and app-domain again, and life will continue along as normal.
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