我正在寻找一个小型的Web服务来运行在一个小型的Linux机器上.我更喜欢用C#编写代码,所以我希望使用Mono.
我不想要运行完整的Web服务器或Mono的ASP.NET版本的开销.我正在考虑使用一个处理每个客户端连接的线程的单个进程.线程之间的共享内存而不是数据库.
我已经阅读了微软的HttpListener版本以及它如何与Http.sys驱动程序一起工作.唉,Mono关于这个类的文档只是自动化的类接口,没有讨论它是如何工作的.(Linux没有Http.sys,所以我想它的实现方式大不相同.)
有人能指点我讨论这个模块的一些资源吗?
非常感谢Bill,billpg.com
(对我感兴趣的问题有一点背景.)
前段时间,我问了这个问题,有兴趣与很多来回保持长时间的对话.我已经决定设计我自己的ad-hoc协议,但我采访过的人真的想要一个REST接口,即使代价是"Okay,立即发送命令"信号.
所以,我想知道在Linux/Mono服务器上运行ASP.NET,但偶然发现了HttpListener.这看起来很理想,因为每个"对话"都可以在一个单独的线程中运行.在循环中调用HttpListener的线程可以查找每个进程连接的线程,并将引用传递给该线程.
ASP.NET驱动服务的替代方案是让ASPX代码从数据库中获取状态,并在完成时写回新状态.是的,它会工作,但这是很多开销.