像在CGI文件上一样在互联网上运行C#文件

时间:2011-12-30 01:07:30

标签: c# cgi

我的计算机上有一个Visual C#项目,我希望我的用户能够通过Web浏览器与它进行交互。我完成了我的研究,我明白我可能会用CGI来做这件事。

然而,虽然我已经能够使用.pl和.cpp文件执行此操作,但我无法弄清楚如何使用C sharp(.cs)文件。任何人都可以解释我会怎么做?

编辑:如果有一个替代解决方案,其中网页将我的C#程序作为后端程序进行通信,那也是有效的。

更新:在我的托管服务提供商取消并设置基于家庭的Web服务器(Windows)后,我终于得到了C#文件作为CGI运行。感谢大家的帮助!

2 个答案:

答案 0 :(得分:3)

你必须给我们一些背景......为什么不能选择asp.net?如果您只是不想在IIS的上下文中运行,您可以简单地编写一个Windows服务(并公开WCF服务,甚至是原始套接字,如果这是您需要的)。

编辑:以响应最近关于服务器为UNIX的评论,您可以使用MONO在该服务器上运行.net代码:http://www.mono-project.com/Main_Page

您可以使用mod_mono之类的内容,或者如果您喜欢不同的内容,可以查看manos de mono

答案 1 :(得分:0)

首先,我假设您的系统上安装了Mono project编译器和运行时环境。

CGI通过标准输入和标准输出完全完成。 (这就是为什么在Perl,Python,Ruby等中编写CGI脚本如此容易的原因之一。您只需像往常一样开始读取标准输入,解析变量,并编写您希望客户端看到的任何输出。)Don'忘了你对entire header负责,包括Mime类型。

如果你需要的东西比CGI的常量fork(2) + execve(2)快一遍又重新启动你的CLR,你可以实现FastCGI protocol(至少,我没有'在维基百科页面上看到C#实现)你自己使用套接字只启动你的CLR一次,所以你有一些合理的性能。 (我似乎记得Nat热衷于Mono进程的开始时间“足够快”将它用于交互式命令,所以也许轻载的服务器不会有普通的旧CGI接口的任何麻烦。)