Changes in ISAPI Filter Features

In IIS 5.0, ISAPI filters run as the LocalSystem account in the Inetinfo.exe process and are guaranteed to be single-instanced. In IIS 6.0, this is no longer the case in worker process isolation mode. Because ISAPI filters now run in worker process, they are subject to all of the worker process behaviors: multi-instancing, having a configurable process identity, and recycling. ISAPI filters that register for SF_NOTIFY_READ_RAW_DATA notifications are not supported in worker process isolation mode; they must be executed in IIS 5.0 isolation mode to be compatible with IIS 6.0.

Moving forward with development of ISAPI applications for IIS 6.0, it is recommended that developers use ISAPI extensions instead of ISAPI filters. IIS 6.0 extends the programming platform and includes support for multiple wildcard script maps and the HSE_REQ_EXEC_URL function, which allows ISAPI extensions to be used in the same way that ISAPI filters are typically used. In addition, ISAPI extensions are asynchronous (that is, can be run simultaneously), and thus are a better choice than ISAPI filters, which are synchronous (that is, must be run in sequence).