Хотя реализация Mono FastCGI всегда поставляется с сервером ASP.NET, я написал код таким образом, чтобы его можно было использовать с любой реализацией сервера.Вот основной пример, который должен работать.Код для вашего запроса идет в методе Process
, и вы можете получить доступ к переменным среды FastCGI через ResponderRequest.GetParameter
.
using Mono.FastCgi;
public class MyResponder : IResponder {
RequestResponder req;
public MyResponder(RequestResponder req) {
req = request;
}
public int Process() {
req.SendOutput("Content-Type: text/plain\r\n\r\n");
req.SendOutput("Server name: ");
req.SendOutput(req.GetParameter("SERVER_NAME");
return 0;
}
public ResponderRequest Request {
get {return req;}
}
public static void Main() {
Socket socket = SocketFactory.CreatePipeSocket(IntPtr.Zero);
// = SocketFactory.CreateTcpSocket(address, port);
// = SocketFactory.CreateUnixSocket(path);
Server server = new Server(socket);
server.SetResponder(typeof (MyResponder));
server.Start(false);
}
}
.* и просто исключите все файлы, которые не используют пространство имен Mono.FastCgi
.