IIS7 modules vs. IIS6 ISAPI: Managing request state in your module

For post #4 in the IIS7 Modules vs. IIS6 ISAPI series, let’s take a look at another common pattern in IIS module development – storing request-specific state inside your module. When developing a module that participates in request processing, it is often necessary to store request-specific state that the module computes in one stage of … [Read more…]

IIS7 modules vs. IIS6 ISAPI: Memory Management

For post #3 in the IIS7 Modules vs. IIS6 ISAPI series, let’s look at one of the biggest trouble areas that bite ISAPI developers – managing memory. If you develop software that uses Win32 APIs, you should be familiar with the feeling you get when you look at the MSDN documentation of a fairly simple … [Read more…]

IIS7 modules vs. IIS6 ISAPI #9: Intuitive object model

This is the second post in the series on why IIS7 module development beats the pants off the ISAPI development for the previous version of IIS. Last time, we talked about the class-based encapsulation model for building IIS modules, and how it’s based on C++ classes with type-safe methods as opposed to ISAPI’s static C-style … [Read more…]

IIS7 modules vs. IIS6 ISAPI #10: C++ Class-based encapsulation model

For the first post in this series, lets start with the basics. ISAPI Extensions and Filters are implemented as global exported functions within the extension/filter DLL.  For example, an ISAPI Filter will always contain an exported HttpFilterProc function that gets invoked by the server for each request mapped to it:   DWORD WINAPI HttpFilterProc(          PHTTP_FILTER_CONTEXT pfc, … [Read more…]

10 reasons why server development is better with IIS7

**********UPDATE: Here are the currently published entries in this series that highlight the improvements in the new IIS server programming model: Reason #10 – C++ class-based programming model Reason #9  – Intuitive server object modelReason #8  – Improved memory managementReason #7 – Managing request stateReason #6 – Sending http responses (coming up)…********** As you already know (if you … [Read more…]