| 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).
See Also
Internet Programming Frequently Asked Questions