mitesh sheth
What is the ISAPI?
By mitesh sheth in ASP.NET on Aug 29 2006
  • Feb, 2007 21

    Go through for more details :

    http://en.wikipedia.org/wiki/ISAPI

    The Internet Server Application Programming Interface (ISAPI) is an N-tier API of Internet Information Services (IIS), Microsoft's collection of Windows-based web server services. The most prominent application of IIS and ISAPI is Microsoft's web server.

    ISAPI Filters dialog in Microsoft IIS
    ISAPI Filters dialog in Microsoft IIS

    The ISAPI has also been implemented by Apache's mod_isapi module so that server-side web applications written for Microsoft's IIS can be used with Apache.

    Contents

    [hide]

    [edit] Big Picture

    The word "server" can refer to a computer ( "box" ) or a piece of software ( for example, SQL Server ). Microsoft's web server application is called Internet Information Services, which is made up of a number of "sub-applications" and is very configurable. ASP.NET is one such slice of IIS, allowing a programmer to write web applications in his or her choice of programming language ( Visual Basic, C#, J# ) that's supported by the Microsoft .NET CLR. ISAPI is a much lower-level programming system, giving much better performance, at the expense of complexity.

    [edit] ISAPI development

    ISAPI consists of two components: Extensions and Filters. These are the only two types of application that can be developed using ISAPI. Both Filters and Extensions must be written in C++ and compiled into DLL files which are then registered with IIS to be run on the web server.

    ISAPI applications can be written using just C++ but there a couple of C++ libraries available which help to ease the development of ISAPI applications. MFC includes classes for developing ISAPI applications. Additionally, there is the ATL Server technology which includes a C++ library dedicated to developing ISAPI applications.

    [edit] Extensions

    ISAPI Extensions are true applications that run on IIS. They have access to all of the functionality provided by IIS. ISAPI extensions are implemented as DLLs that are loaded into a process that is controlled by IIS. Clients can access ISAPI extensions in the same way they access a static HTML page.

    [edit] Filters

    ISAPI filters are used to modify or enhance the functionality provided by IIS. They always run on an IIS server and filter every request until they find one they need to process. Filters can be programmed to examine and modify both incoming and outgoing streams of data.

    Filters are implemented as DLL files and can be registered on an IIS server on a site level or a global level (i.e., the apply to all sites on an IIS server). Filters are initialised when the worker process is started and listens to all requests to the site on which it is installed.

    Common tasks performed by ISAPI filters include:

    • Changing request data (URLs or headers) sent by the client
    • Controlling which physical file gets mapped to the URL
    • Controlling the user name and password used with anonymous or basic authentication
    • Modifying or analysing a request after authentication is complete
    • Modifying a response going back to the client
    • Running custom processing on "access denied" responses
    • Running processing when a request is complete
    • Run processing when a connection with the client is closed
    • Performing special logging or traffic analysis.
    • Performing custom authentication.
    • Handling encryption and compression.

    [edit] Performance and compromise

    In contrast to CGI applications, an ISAPI application is loaded into the same process space as the IIS web server. This removes the need for inter-process calls allowing improved performance of ISAPI applications over CGI applications. However, if an ISAPI application crashes, it will cause the whole of the web server to crash along with it.

    [edit] Common ISAPI applications

    This is a list of common ISAPI applications implemented as ISAPI extensions:

    • Active Server Pages (ASP), installed as standard
    • ASP.NET, installed as standard on IIS 6.0 onwards
    • Perl ISAPI (aka PerlIIS), available for free to install
    • PHP, available for free to install

    • 0
  • kuppusamy  semparithii
    Aug, 2006 31

    It is a filter in identifing the request and forwarding it to the appropriate handler

    • 0


Most Popular Job Functions


MOST LIKED QUESTIONS