What Is the Difference Between an ISAPI Server Extension and a Filter?


ISAPI Extentions
Runs when referenced in a URL. 
Is explicitly invoked, for example by http://myserver/myprog.dll?. 
Is loaded on demand, the first time a user calls it. 

ISAPI Filters
Is called for every URL the server processes.
Runs automatically for any URL sent to the server if the registered event occurs.
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).

If you want to use custom ISAPI filter/extention you gonna write unmanaged code somehow. If its hard to code in more basic in IIS with c++,  you can use managed code  using c#,vb also IIS supports with .net framework and have similar structures at upper level (i mean using aspnet_isapi.dll) and you figure out that  ISAPI Filters are much like HttpModules and ISAPI Extentions are very like HttpHandlers .

See Also
http://msdn.microsoft.com/en-us/library/ax8e99d2(VS.71).aspx

Advertisement

About bpostaci
Escalation Engineer in Microsoft.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: