allegiance.chi-town.com
IIS Metabase Analyzer
Back to Main ]


Download Current Version Now




This application will help you to track down ASP.Net application version conflicts in your ASP.Net web applications.


Do I have a conflict?

If you are having "Server Unavailable" errors from your web server, or if you see the following events in your IIS web server event log, then you probably have multiple versions of ASP.Net running in the same application pool.


Fig 1: Event ID: 1062
"It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp."



IIS will report these errors, and attempt to restart the application pool, but the error information given is not enough to fix the issue. Also, if you have many web sites running on a single instance of IIS each with ASP.Net sub applications, then you will have the unwelcome task of searching through all of those applications to find a potential conflict.


How does IIS Metabase Analyzer work?


As the name implies, the application looks at IIS Metabase information to determine which IIS Web applications are running under which IIS Web sites. Additionally, it determines which Application Pools those websites and web applications are running under. When a version conflict is detected, IIS Metabase Analyzer alerts you to it and then it's up to you to fix the issue with the IIS Management tools.

There are two ways for IIS Metabase Analyzer to load data from IIS:

1. WMI Connection to IIS

This method will give you the current picture of what configuration your IIS is running with.

 

2. Metabase file load

This method enables you to look at the IIS configuration off line. This is great for off site support, or over the phone trouble shooting where you might not have direct access to the IIS Web Server. You can also directly load IIS Metabase Backup (.MD*) files so that you can look at historical backup snapshots to determine if an "ghost" issue was actually present on your IIS Web Server.

 

What are the configuration issues that IIS Metabase Analyzer detects, and how do I resolve them?

1. Multiple ASP.Net application versions in one Application Pool.

This condition occurs when you are setting up a new website on an IIS web server with another ASP.Net web application already installed but of a different version of the .Net framework than your new application. If you forget to change the application pool from the default value, both ASP.Net applications (with different .Net framework versions will attempt to use the same Application Pool, which causes the Application Pool to crash.

Once you have located the offending application, the easiest way to fix the issue is to create a new Application Pool, and assign the offending application to it, or assign the offending application to another Application Pool that contains ASP.Net applications at the same version as your offending application.

 

2. Use of differing .Net versions of the ASP.Net script processors in the same Web Application.

You can specify custom script mappings inside the advanced application configuration sections in IIS. This is common for websites that use URL rewriting for SEO, which enables .Net to handle the URL rewriting logic. Because it is possible to specify a script mapping that uses a different version of the .Net framework, this miss-configuration can cause issues.

Fix this error by changing the offending script mapping to use the same version of the .Net framework as the rest of the Web Application.

 

3. Web Application has an Application Pool specified, but the Application Pool does not exist

This can happen if you edit the Metabase directly, and remove an application pool that is still in use by one or more Web Applications.

Resolve this error by changing the Application Pool on each web application to a valid Application Pool.


Version History

v1.1 (9/26/2008)

  • Changed XML config file loader to accomodate more variations of configuration files. (Thanks George Coney for sending samples.)

v1.0 (6/4/2008)

  • Initial Release
©2009 Nick Pirocanac
Tell me everything.