|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
What Is the Difference Between an ISAPI Server Extension and a Filter?
|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 ||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).