FastCGI Dll Library (with SIGTERM handler) for Windows Web Servers

The Microsoft Server IIS team has announced the release of FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 described here,
and the Aprellium team has added our announcement in the Abyss FastCGI forum.

Over the last few months, Coast Research has developed a second generation FCGI library (libfcgi2.dll) with a handler for the termination signal (SIGTERM) introduced in the latest FastCGI 1.5 release for Windows IIS. This library was developed in conjunction with the Microsoft IIS FastCGI development team, leading to the inclusion of the_FCGI_X_PIPE_ environment variable and the termination signal (defined by the SignalBeforeTerminateSeconds configuration setting) to permit graceful shutdown of a FastCGI application (releasing database handles and other resources, for example) before getting killed by the Web Server.

The library maintains a large degree of compatibility with the original DLL, adding direct access to the most-used request parameters such as QUERY_STRING, CONTENT_LENGTH, and Request Method (to avoid slow string and parsing operations for each request) while retaining the legacy request variable structure.

The Library also includes:

  • Direct random access to STDIN/STDOUT/STDERR streams
  • Error handing with full text descriptions
  • Debug mode for examining FCGI record flow  
  • Optimized (in place) URL decoding

    - For more information, read the QuickStart.

    - If you are not sure what all this means, read the FAQ.

    - To understand FastCGI and SIGTERM, read the White Paper.

    - For sample code, see the BASIC examples or C++ examples.

    - Configuring FastCGI on
Windows Server 2003 IIS6.

    - Configuring
FastCGI on Windows Server 2008 IIS7.

    - Configuring the Aprellium Abyss

    - The DLL is FREEWARE and can be downloaded.

The Library has been t
ested by the Microsoft FastCGI Team, so the
best place for feedback is probably in the IIS Forums:
     - the IIS 6 FastCGI Handler chat room
     - the IIS 7 FastCGI module chat room

To contribute headers and code in your language, or to ask a question, contact: fcgi -at- coastrd -dot- com.