Determining Application Compatibility with IIS 6.0 Worker Process Isolation Mode

Applies To: Windows Server 2003, Windows Server 2003 with SP1

IIS 6.0 can run in one of two distinct modes of operation, which are called application isolation modes. Application isolation is the separation of applications by process boundaries that prevent the applications from affecting one another, and it is configured differently for each of the two IIS application isolation modes: IIS 5.0 isolation mode and worker process isolation mode.

Worker process isolation mode uses the redesigned architecture for IIS 6.0. This application isolation mode runs all application code in an isolated environment. However, unlike earlier versions of IIS, IIS 6.0 provides isolation without a performance penalty because fewer processor instructions are run when switching from one application pool to another. Worker process isolation mode is compatible with most existing Web sites and applications. Whenever possible, run IIS 6.0 in worker process isolation mode benefit from the enhanced performance and security in IIS 6.0.

IIS 5.0 isolation mode provides compatibility for applications that depend upon the process behavior and memory model of IIS 5.0. Run IIS in this mode only when a Web site or application cannot run in worker process isolation mode, and run it only until the compatibility issues are resolved.

Important

IIS 6.0 cannot run both application isolation modes simultaneously on the same server. Therefore, on a single server running IIS 6.0, you cannot run some Web applications in worker process isolation mode and others in IIS 5.0 isolation mode. If you have applications that require separate modes, you must run them on separate servers.

During the migration process, you install Windows Server 2003 and IIS 6.0 on the target server. IIS 6.0 is configured to run in worker process isolation mode by default. Before you begin migrating your production Web sites and applications, evaluate whether your Web sites and applications are compatible with worker process isolation mode. Most of the compatibility issues with IIS 6.0 occur when configuring IIS 6.0 to run in worker process isolation mode.

One of the most common reasons for incompatibility with worker process isolation mode is that applications do not recognize custom Internet Server API (ISAPI) extensions or dynamic-link libraries (DLLs) that depend on the memory and request processing models used by earlier versions of IIS. Determine application compatibility in your lab before migrating your existing IIS Web sites and application, and if you determine that your applications are not compatible with worker process isolation mode, you can run the applications in IIS 5.0 isolation mode.

Note

Identifying a complete list of potential incompatibilities that applications can experience with worker process isolation mode is beyond the scope of this section. Even after following the guidelines in this section, you need to verify in a lab whether your Web sites and applications are compatible with worker process isolation mode.

Determine the compatibility of an application with worker process isolation mode by completing the following steps:

  1. Evaluate the benefits of moving to worker process isolation mode.

  2. Evaluate the application changes that are required so that the applications can run in worker process isolation mode.

  3. Evaluate the management and provisioning script changes that are required to set up programs and provisioning scripts in worker process isolation mode.

  4. Verify the compatibility of the application with worker process isolation mode in a lab.