What Is the Difference Between an ISAPI Server Extension and a Filter?
| Overview | How Do I | FAQ | Details | Sample
A server extension: | A filter: |
Runs when referenced in a URL. | Is called for every URL the server processes. |
Is explicitly invoked, for example by http://myserver/myprog.dll?. | Runs automatically for any URL sent to the server if the registered event occurs. |
Is loaded on demand, the first time a user calls it. | Is loaded when the service starts because of its registry entry. |
Both server extensions and filters:
Share the process space of the service.
Must be thread safe.
Once loaded, remain in memory (until the service is stopped or the memory is needed by another process).