How Are ISAPI Server Extensions and Filters Called?
| Overview | How Do I | FAQ | Details | Sample
An Internet server extension (ISA) is a program you write to extend the capabilities of the server. An ISA is called when explicitly invoked by a client sending a URL that invokes your DLL. For example, http://yourserver/wwwquote.dll?
asks the server named yourserver
to run the DLL wwwquote
. An HTTP request can also be sent when a user clicks a button on a Web page. This method is often used when a Web page is a form that collects information, which is passed as parameters to the DLL. For example, http://yourserver/wwwquote.dll?Issues?Method=ByCUSIP
invokes the DLL and passes the parameter Method=ByCUSIP
to the function Issues
.
In contrast, an ISAPI filter is called each time a specified event occurs, no matter what request is being processed by the server. If you included SF_NOTIFY_URL_MAP, the flag for URL mapping, when requesting notifications, your OnURLMap function will be called each time a URL is mapped to your server, regardless of the content of the URL command. A filter can process, examine, and change data on each request to the server.