【问题标题】:Compile C# as CGI将 C# 编译为 CGI
【发布时间】:2010-06-03 07:15:34
【问题描述】:

如何将 C# 程序编译为 CGI 以在 LAMP/Linux/Apache 服务器的 cgi-bin 中运行?

【问题讨论】:

  • 为什么要这样做?你在用单声道吗?
  • libsecondlife @ lib.openmetaverse.org/wiki/Main_Page 是一个基于 C# 的 API,我想在我的 LAMP 专用服务器上运行它。我已经能够将几个基于 C++ 的程序编译成 cgi 以在我的 LAMP 服务器上运行,但不知道如何为 .NET C# 执行此操作

标签: c# linux apache cgi lamp


【解决方案1】:

没有什么特别的要求 - 只需使用 Mono 的 gmcs 编译器正常编译应用程序即可。

有关集成的更多信息,请查看以下两个链接:

http://www.mono-project.com/ASP.NET

还有这个专门针对 CGI 的:

http://www.mono-project.com/CGI

【讨论】:

  • 我同意 Stewart 的观点,即带有 mod_mono 的 Apache 是比 CGI 或 FASTCGI 更好的解决方案。
  • 这看起来就是解决方案。明天会试试这个,但想知道有没有人尝试将 C#/.NET 编译成 CGI?
  • 这似乎适用于一些基本应用程序,但并非所有库似乎都封装用于更复杂的应用程序(尽管仍然基于文本)..
【解决方案2】:

您通常使用服务器上的编译器编译 C 程序,通常是 gnu 编译器。 如果这是您正在使用的编译器,那么;

gcc -o <name_of_output_file>.cgi <name_of_source_file>

无论你给文件起什么名字,你都需要给它扩展名.cgi 然后你要做的就是把它移到cgi-bin文件夹,记得设置程序的权限,一般cgi的东西你用755;

chmod 755 <name_of_file>

这就是我对 C 的处理方式,我想 C# 也是如此。

【讨论】:

  • 不要忘记使用 -O2 进行优化! ;))
【解决方案3】:

也许,您可以使用一个非常简单的包装脚本,例如,使用 bash,它本身以正常方式使用单声道执行您的 C# 程序。 例如

#!/usr/bin bash

/usr/bin/opt/mono myprogram.exe $@

(当然,如果可以的话,只使用带有mod_mono 的Apache 是一个更好的解决方案。)

【讨论】:

    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    相关资源
    最近更新 更多