Dies ist eine FastCGI-Implementierung für .NET. Sie ermöglicht .NET-Anwendungen die Kommunikation mit Webservern wie Apache or Nginx. Dabei entsteht deutlich weniger Overhead als bei Verwendung eines HTTP-Proxy.
Das FastCGI-Protokoll wurde zur Kommunikation zwischen Webservern und Webanwendungen entworfen. Es wird heute beispielsweise mit PHP oder Python verwendet. Leider gab es bisher noch keine brauchbare Implementierung für .NET. Diese Bibliothek füllt diese Lücke. Sie steht unter der MIT-Lizenz, ist getestet und dokumentiert.
Die API bietet sowohl eine eine einfache Schnittstelle, um mit wenigen Zeilen Code auf HTTP-Anfragen zu reagieren, die vom Webserver weitergeleitet wurden, als auch die Möglichkeit, die komplexeren Details des FastCGI-Protokolls voll auszunutzen.
Dieser Code startet einen einfachen FastCGI-Client, der auf jede HTTP-Anfrage mit „Hello World!“ antwortet:
// Create a new FCGIApplication, will accept FastCGI requests
var app = new FCGIApplication();
// Handle requests by responding with a 'Hello World' message
app.OnRequestReceived += (sender, request) => {
request.WriteResponseASCII("HTTP/1.1 200 OK\nContent-Type:text/html\n\nHello World!");
request.Close();
};
// Start listening on port 19000
app.Run(19000);
Ein Webserver kann sich nun mit diesem FastCGI-Client verbinden. Mit Nginx funktioniert das so:
location / {
include fastcgi_params;
fastcgi_pass localhost:19000;
}