Sunday, March 16, 2003

IIS 6.0 New Features

Sam Gentile talks about the new features of IIS 6.0, something I've been hearing about for a long time.

IIS 6.0 has been totally re-designed with a new request processing architecture that has the benefits of high isolation without incurring the out-of-process cost, as well as much higher levels of reliability and scalability. IIS 6.0 has been redesigned into two main pieces: HTTP.SYS - a kernel-mode HTTP listener and WAS - a user-mode configuration and process manager. Along with this are worker processes that service requests for application pools in HTTP.SYS.

One question that I'm hoping Sam will address sometime soon is, "How can I take advantage of this to have my app listen on an arbitrary endpoint on port 80?" Obviously, HTTP is an important protocol, and since having inetinfo.exe hog port 80 is a thing of the past, I'd like to know what I can do. Do I need to write ISAPI code? Is there a new API? Tell! Tell!


  1. It's pretty straight-forward and similar (from a high level) to IIS5 and earlier.

  2. Sure, I understand that. What I'm asking is, is there a new mechanism for binding within the target process? Or do we still write ISAPI extensions? What I should have emphasized was the "need" in "do I need to write ISAPI code".

  3. Implement System.Web.IHttpHandler and you're off to the races.

  4. Expect less? How could I expect more? :)