Crash Protection for IIS Applications

As the web server moves beyond serving up pages, then through dynamic pages using ASP, up to providing applications using MTS, there are a number of changes that are occurring in the code that is being executed on the server. As the applications become more complex, there are more and more components that have to work together for the application to function successfully. These components are growing in complexity, and may be accessing multiple, disparate data sources. With all this added complexity comes a system that may be more prone to failure. Applications that fail are acceptable during development, but once deployed, failures should be handled as transparently as possible.

As more and more business critical applications are moved to web servers, the required availability of these systems becomes closer and closer to 100%. It is becoming quickly unacceptable for the entire web server to crash if an application crashes. And in the event of a crash, then the application needs to restart itself without operator intervention. It also becomes a problem if the application and its supporting files cannot be modified without taking the entire server offline.

With the merging of IIS and MTS, this problem is being alleviated. MTS provides a facility for each application that is running in IIS to be a part of a separate process space. Since this process space is separate from any other ASP applications running on the server, and separate from the IIS executable itself, it can be loaded and unloaded without affecting the rest of the system. It also prevents a crashing ASP application from affecting any other parts of the system.

To add crash protection to an ASP application, you will use the Microsoft Management Console (MMC. By viewing the properties of your ASP application, you can select to run the application in a separate process space. You can modify this property by selecting the Virtual Directory for your application from the MMC window. Once selected, you can right-click and select

Properties
. This will display the Application properties dialog box for your application.

To add crash protection to your application, make sure that the 'Run in separate memory space' check box is checked. This will cause any objects that the application uses to be created in an isolated process space. This will separate the execution of their code from the execution of the web server and other application's code. By running in a separate process space, an error will be confined to that process space, leaving all other processes on the machine running normally. While the term "crash protection" does not mean that it keeps your application from crashing, it prevents your application from crashing the rest of the system.

© 1998 by Wrox Press. All rights reserved.