-
Notifications
You must be signed in to change notification settings - Fork 2
A F# FastCGI library for .NET (also for C#, VB.NET and other .NET languages)
wmeyer/SharpCGI
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SharpCGI 0.2 - a FastCGI library for .NET ========================================= Usable with C#, F# and other .NET languages. Features: --------- - large number of concurrent connections possible (if supported by web server) - easy to use C# interface - for F#: request handlers can be implemented as non-blocking asynchronous workflows (improves resource usage and performance) - optionally supports request multiplexing (not completely tested as this is not supported by popular web servers) - highly configurable - permissive license (BSD3) Tested with: ------------ - IIS 7.5 - Apache 2.2 with mod_fastcgi [1] - LightTPD 1.4.28-1 - nginx 0.8.54 Credits: -------- The initial design was influenced by Dan Knapp's "direct-fastcgi" Haskell package [2]. (During further development the design diverged due to different language features.) How to use: ----------- Supported tools: Visual Studio 2010, or the 2010 version of the free tools for F# [3], or Visual C# 2010 (Express Edition) Take a look at the example projects: C#: solution FastCGIApp.sln in directory FastCGIAppCSharp F#: "SimpleExampleApp(Async)" in main solution file FastCGI.sln Add "FastCGI.dll" as a reference to your own project. (The assembly is precompiled for .NET 4 Client Profile.) Read the documentation of your web server's FastCGI module. (By default the examples listen for connections from the webserver on 127.0.0.1:9000.) Explore the FastCGI namespace. How to compile: --------------- Optionally (if you want to use IIS or other web servers that pass the socket through stdin): Compile the C++/CLI project "SocketSupport" with Visual C++ 2010 (Express Edition). Compile the FastCGI F# solution with Visual Studio 2010 or with the 2010 version of the free tools [3]. Not tested with Visual Studio 2008, but it should be possible to create a working solution by hand. As far as I'm aware, no .NET 4 features were used. If you want to use the library in a C# project, go to the project's property page and add "--standalone" to "Other flags" on the "Build" tab. How to run the test suite: -------------------------- Read the source code and configure the web servers accordingly :) Note that FastCGITestServer.exe needs a place to write log files (see source code), which needs to be accessible for the IIS AppPool user. Bugs, questions and suggestions go to: -------------------------------------- [email protected] [1] Tested with mod_fastcgi-SNAP-0811090952-Win32.zip, available at http://wiki.catalystframework.org/wiki/deployment/apache_fastcgi_win32#Install_Apache_FastCGI_module [2] http://hackage.haskell.org/package/direct-fastcgi [3] http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx
About
A F# FastCGI library for .NET (also for C#, VB.NET and other .NET languages)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published