【问题标题】:Is there a .NET FastCGI library?是否有 .NET FastCGI 库?
【发布时间】:2010-06-19 14:43:01
【问题描述】:

我正在开发一个应该通过 http 进行接口的小型服务器。由于我希望它可以与不同成熟的 http 服务器一起使用,所以我选择了 FastCGI 作为通用接口。

现在我找不到实现 FCGI 接口并为我完成所有艰苦工作的(免费).NET 库。你认识一个吗?

【问题讨论】:

    标签: .net fastcgi


    【解决方案1】:


    https://github.com/mono/xsp/tree/master/src

    上查看 Mono.WebServer.FastCGI

    这里还有一个 FastCGI CLIENT
    http://sourceforge.net/projects/fcgidotnet/

    FastCGI 规范在这里:
    http://www.fastcgi.com/devkit/doc/fcgi-spec.html

    您可以在此处找到符合 OWIN 标准的实现:
    https://github.com/mzabani/Fos

    此外,这些库也很有趣:


    HyperFastCGI:
    https://github.com/xplicit/HyperFastCgi


    https://github.com/gigi81/sharpfastcgi

    或#cgi
    https://github.com/wmeyer/SharpCGI

    如果你需要更多关于 FastCGI CLIENTs 的例子,你可以看看这个 go library

    https://github.com/tomasen/fcgi_client

    【讨论】:

      【解决方案2】:

      是的,有很多库,如 SharpCGI 和 FCGIDotNet,但它们都实现了协议的服务器端。我仍然需要找到与现有 FastCGI 服务器通信的代码,这与所有这些库所做的正好相反(尽管它的代码 90% 相同)。

      【讨论】:

      • @Quandary 那不是用 C# 写的
      【解决方案3】:

      我不知道(我也在寻找)

      其中一个困难在于,FastCGI 似乎要求您将一个侦听器套接字的句柄传递给一个子进程,而不是普通的 StdIn 句柄——标准 .Net 类(进程、套接字等)的东西。 ..) 不允许。这意味着在 .Net 中实现 FastCGI 库最终需要使用对原生 Windows 函数的 P/Invoke 调用重新实现 Process 和 Socket 类。

      【讨论】:

      • 感谢您的回复。我还在寻找这样的图书馆。我没有意识到这些困难,那么围绕 c 库创建一个本地包装器并将请求代理到我的托管服务器可能会更容易?
      • @entity64 这听起来是个好主意 - 替代方法是用 .Net 语言重新实现它。
      • 我不明白你的第二点。据我了解,网络服务器是(服务器)fastcgi 进程的客户端,用于转发请求。该进程本身可能是另一个服务器进程的客户端。据我了解,没有必要转移处理 webserver/fastcgi 接口的套接字的所有权。
      【解决方案4】:

      我最近在 F# 中实现了这样一个库:SharpCGI

      也完全可以在 C# 中使用。

      Kragen 描述的问题通过一些 Win32 黑客技术解决,利用 .NET 内部结构。但是,如果您将 Web 服务器配置为使用 FastCGI 的指定端口,则不必使用它。

      【讨论】:

      • SharpCgi 是否在 Mono 上运行,以及 Kragen 描述的问题如何影响 Mono 上的 SharpCgi 设置?
      【解决方案5】:

      我来这里是为了说我创建了一个用 C# 编写的 FastCGI 库,它可能对未来的读者有用。它没有大量文档(FastCgi 是一个非常简单的标准,所以我不明白为什么会这样),但我认为它的文档足够好,可以被其他人使用。
      目前,它为应用程序服务器和 Web 服务器都公开了一个 API,尽管可能仍然缺少一些功能。您仍然应该检查一下。
      我最近没怎么接触过它,但它对我来说确实很好用(我仍在使用它)。

      您可以通过 NuGet 或我的GitHub 下载它。它被称为 FastCgiNet

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-04
        • 2010-10-05
        • 2011-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多