Mike Volodarsky's blog

Formerly the core server PM for IIS 7.0 and ASP.NET, now I run LeanSentry.
UPDATES: New troubleshooting guide released! Fix IIS website hangs →

Remove zombie websites from your IIS server

Zombie websites get created whenever the root application of a website is removed, orphaning the rest of the application content in your website.

Because IIS requires the root of the website to be an application, this effectively renders the website inaccessible:

  • It cannot serve requests
  • It does not show up in InetMgr
  • It will likely break many administrative or configuration actions
Just for reference, here is what this looks like in your applicationHost.config:

 

<site>
     <application path="/child1"> <!-- Where is the root app?
         ...
    </application>
</site>

 

(Note: if you remove a parent application that is NOT the root of the site, things will still work fine - even though the child apps may be considered orphaned, they are actually not.  The only change that happens is that content at the parent application's level becomes part of the root application)

Surprisingly, this is actually easy to end up with - just delete the root application of a website instead of deleting the website itself - e.g. by running appcmd delete app "Default Web Site/". Then try to browse to localhost :) .

There is a good article describing how to find these here: Hunting zombies: how to remove orphaned IIS web applications. However, the article does not actually tell you how to remove them, and since you cannot easily remove them from InetMgr, many users seem to be out of luck.

After trying to help a user on the IIS forums here to remove a zombie app, I decided to write a quick tool to do it.

So, here you go:

Download the tool: http://mvolo.com/wp-content/uploads/2012/11/RemoveOrphanedSites.zip.

To run it:

> RemoveOrphanedSites.exe /site:all      <-- Shows all orphaned sites ONLY, does not remove

> RemoveOrphanedSites.exe /site:all /remove     <-- Removes all orphaned sites

> RemoveOrphanedSites.exe "/site:Default Web Site"     <-- Checks if the specific site is orphaned

> RemoveOrphanedSites.exe   <-- Displays help, how to connect to remote servers, etc

Hope this helps everyone who has this problem.

Best,

Mike

Automatically diagnose every IIS and ASP.NET error in your sites

What if someone automatically diagnosed every error in your IIS site?

It would probably help you quickly fix all the lingering bugs in your apps … and make a lot of your users really happy.  The hours you would save tracking down and figuring out that intermittent 500.19 error would probably make you really happy, too.

If that sounds great, then we have good news for you: LeanSentry now automatically diagnoses every error in your apps!

It works like this:

Step 1: You install LeanSentry on your production server, and it automatically tracks every IIS, ASP, and ASP.NET error in your app.

Step 2: We send you a daily insight with a quick summary of any major, new, or significantly increasing errors.

Daily email with an expert look at the errors in your site


Step 3: You log into your dashboard to see how many requests have failed, and see every error across your entire app.

Track all your IIS, ASP.NET, and server in one place


Step 4: Click on a specific error, and we will show you how many requests it affected and how its changing …

Then, we’ll tell you exactly what the error means, why it happens, and how to fix it.

Then … Wait for it … we’ll walk you through a diagnosis of the error using your own data!

Step by step diagnosis for each error!

 

With this feature, we help you ask the right questions in order to diagnose each error, and give you all the specific data you need to make decisions – step by step.  I certainly wish we had this kind of troubleshooting tool over the last 5 years.
 

We have a expert diagnostic for many of the top IIS errors, and adding more each day.  If you got an error we don’t have a diagnostic for already, email us – and we’ll help you with it manually as well as add the diagnostic to the app for future.

 
I want it! How do I get it?

If you have an environment already set up with LeanSentry, no action is needed, and you’ll be getting your first error insight email later today!

 
If not, go here to set up your environment with our free trial, and start tracking and diagnosing your errors ASAP!

Best,
Mike