Multiple Requests Mapped to an ISAPI Extension

IIS 5.0 and IIS 5.1 support ISAPI extensions that intercept all requests with a single wildcard (*) application script map, which is configured by editing the application mappings for an application. This concept is extended in IIS 6.0 to allow execution of multiple global interceptors. This feature is called wildcard application mappings.

In versions of IIS prior to 6.0, accepting all requests for a specific URL was possible only by using ISAPI filters. ISAPI filters have the following problems:

  • ISAPI filters are global for a Web site.

  • ISAPI filters cannot perform long-running operations (such as database queries) without starving the IIS thread pool.

  • ISAPI filters cannot access the entity body of the request.

IIS 6.0 can implement ISAPI request interceptors that can intercept, change, redirect, or deny every incoming HTTP request for a specific URL space. It does this by means of the SSF_HSE_REQ_EXEC_URL function.

Because global interceptors are ISAPI extensions, they do not have the limitations of ISAPI filters. Used with the SSF_HSE_REQ_EXEC_URL function, they provide the functionality to replace filters that read raw data.

For more information, see Intercepting All Incoming IIS Requests.