C#CGI可执行文件 - 好主意还是坏主意?

mar*_*mnl 4 c# webserver http xmlhttprequest

我想编写一个C#应用程序来处理我的HTTP(包括AJAX请求)而不是PHP,PERL或ASP路由,因为我只需要返回一些标准HTML,尽管很明显,因为我想要CGI,动态生成.

更新:我不打算编写自己的Web服务器,但是由IIS或Apache等Web服务器托管exe.此外,我不想学习和使用ASP(我知道我可以更快,开发时间,我自己在C#),我只是希望W3C有效的HTML发送回客户端.

没有这么好的理由吗?

我意识到每次发出HTTP请求时都必须加载并运行exe - 但Perl,ASP和PHP肯定也是如此吗?有没有办法让exe继续运行处理特定页面的所有HTTP请求?(虽然感觉我只是在写一个迷你HTTP服务器!)

有没有好的教程?我读过这篇文章,但有点过时(2005年):http://www.codeproject.com/KB/cs/cgi_csharp.aspx

更新2:我不认为速度无论如何都会成为一个问题(运行一个没有GUI的小exe几乎是瞬间的)但是如果我想要真正有效我可以编写C#服务器然后非静态页面请求可以有一个小的exe用C语言编写,将请求发送到C#服务器并返回答复.不是吗?:)

mik*_*obi 5

有一些解决方案,如FastCGI,可以消除每次处理请求时启动可执行文件的开销.很少有人仍然使用传统的CGI.我不知道是否有与.net兼容的解决方案.

对于.NET来说,这是一个更好的选择System.Web.IHttpHandler.

您所要做的就是子类IHttpHandler和重载1方法来处理请求.在我看来,这是更简单的CGI.

MSDN网站上有一个很好的例子.