Actually, I've been using the JK2 ISAPI connector with IIS 6.0 (in worker process mode) just fine. If I'm not mistaken, I've also had the JK ISAPI connector running under IIS 6.0. I think the key is loading the filter at the site level and not at the global level, and making sure the site has its own application pool. I can investigate this further as I may be moving to JK eventually anyway. In IIS 6.0 "worker process mode", you have one or more application pools in which all ISAPI filters and applications are executed. No third-party code ever runs in-process with inetinfo.exe. Each application pool consists of one or more worker process that handle requests. Additionally, the worker process are recycled after specified intervals to reclaim resources for any leaky applications you have, plus there are some health checks that help prevent situations that would have caused IIS 5 applications to hang or become unresponsive. In IIS 5.0 isolation mode, you're back to low, medium, and high isolation levels. ISAPI filters run in-process with inetinfo (gag) in IIS 5 mode. In low isolation, ISAPI applications also run in-process with inetinfo.exe, but thin medium or high isolation they run in dllhost.exe. I wouldn't use IIS 5.0 isolation mode unless I had no other choice. I can't over-state this.