Home | Overview | How Do I | FAQ | Details | Sample
This article discusses programming tips that are specific to an ISAPI extension or filter running on Microsoft Internet Information Server (IIS). If you are running on other Web servers that support ISAPI, they may handle registry keys, memory, and loading of applications differently. Check the documentation for the Web server you are using for more information.
To install a new version of your filter or ISA, you must shut down the service, copy the DLL to the appropriate directory, update the registry if it’s a new filter, and restart the service.
The registry key HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/Parameters/FilterDLLs controls which filters are loaded when the service starts. It contains a list of filters, including their full paths, separated by commas. To load additional filters, stop the service, add your filter to the registry, and restart the service.
A server extension is loaded when first called by a client.
After the service is started, a filter remains in memory until the computer or the service is shut down. Once loaded, a server extension may also remain in memory until the computer or the service is shut down. You can force reloading of your extension DLL (for example, for debugging purposes) by specifying the registry setting HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/W3SVC/Parameters/CacheExtensions=0. This setting doesn’t take effect until the service is restarted. Note that this setting should be used only while debugging. It has a negative impact on performance, and should never be used on a production server.