Share via


ISAPI Extensions Overview

Introduction to Extensions

ISAPI extensions are implemented as DLLs that are, like most DLLs, loaded either into the IIS process or, if part of an out-of-process application, into a separate process. Like ASP and HTML pages, IIS uses the virtual location of the .dll file in the file system to map the ISAPI extension into the URL namespace served by IIS.

When IIS receives a request that maps to an ISAPI extension, such as

GET https://www.mysite.com/MyISAPI.dll

IIS first checks to see if MyISAPI.dll is already loaded. By default, IIS is configured to cache ISAPI extensions. If it is determined that the extension is not yet loaded, IIS loads the DLL.

Once the extension DLL is loaded, the entire request is managed by the extension with IIS acting as an efficient intermediary and helper.

In addition, you can have an ISAPI control an entire namespace. If you use '*' as your extension, then all requests to that namespace will be handled by the ISAPI specified.

This section also contains: