What is ISAPI or ISAPI extension or filters? The more I read the more I am confused
What is ISAPI or ISAPI extension or filte开发者_开发问答rs? The more I read the more I am confused.
See e.g. here: http://searchwindowsserver.techtarget.com/definition/ISAPI
ISAPI (Internet Server Application Program Interface) is a set of Windows program calls that let you write a Web server application that will run faster than a common gateway interface (CGI) application. A disadvantage of a CGI application (or "executable file," as it is sometimes called) is that each time it is run, it runs as a separate process with its own address space, resulting in extra instructions that have to be performed, especially if many instances of it are running on behalf of users. Using ISAPI, you create a dynamic link library (DLL) application file that can run as part of the Hypertext Transport Protocol (HTTP) application's process and address space. The DLL files are loaded into the computer when HTTP is started and remain there as long as they are needed; they don't have to be located and read into storage as frequently as a CGI application.
A special kind of ISAPI DLL is called an ISAPI filter, which can be designated to receive control for every HTTP request. You can create an ISAPI filter for encryption or decryption, for logging, for request screening, or for other purposes.
Or see another definition with a graphical explanation here:
ISAPI Definition from PC Magazine
ISAPI! yup this thread is old but may be my 2 cents worth something here.
ISAPI stands for internet server application programmable interface. As the name suggests this is an interface provided in IIS for the developers. Where you can tap into IIS core functionality and either you can provide a custom functionality in IIS using ISAPI extension (e.g. .net dll) or ISPI filter (e.g. a custom file uploader). There are set of built in ISAPI api's for this.
Additionally building ISAPI "extension" developments are a tough task you need C++ and STL advance exposure. Mainly allocate buffers for http post data and need to be extremely careful about buffer overflow errors and parsing posted data as such error in ISAPI will bring down whole IIS. Having said that once developed correctly these extensions work pretty good. You can also implement worker thread pool and custom IIS load balancing etc.
But be prepared to sleep under your working table I'm talking by my own experience.
If you know that incoming HTTP messages are handled by a pipeline (IIS/ASP.NET are both part of the pipeline), you can treat ISAPI/filters as components who extend this pipeline.
As many ISAPI modules filter out some messages, they are also called filters naturally.
http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/
http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/
ISAPI filters are libraries loaded by the IIS web server. Every incoming request and outgoing response passes through the filters, and they're free to perform any handling or translation they wish. They can be used for authentication, content transformation, logging, compression, and myriads of other uses.
ISAPI is a framework/API that is provided by Microsoft's web server, Internet Information Services (IIS), that allows you to programmatically inspect and alter web requests.
精彩评论