Estoy buscando escribir un pequeño servicio web para ejecutar en una pequeña caja de Linux. Prefiero codificar en C#, así que estoy buscando usar Mono.¿HttpListener funciona bien en Mono?
No quiero la sobrecarga de ejecutar un servidor web completo o la versión Mono de ASP.NET. Estoy pensando en tener un solo proceso con un hilo que trate con cada conexión de cliente. Memoria compartida entre hilos en lugar de una base de datos.
He leído un poco sobre la versión de HttpListener de Microsoft y cómo funciona con el controlador Http.sys. Por desgracia, la documentación de Mono en esta clase es solo la interfaz de clase automatizada sin discusión de cómo funciona bajo el capó. (Linux no tiene Http.sys, así que me imagino que se ha implementado de manera sustancialmente diferente.)
¿Alguien podría indicarme algunos recursos para discutir este módulo, por favor?
Muchas gracias, Bill, billpg.com
(Un poco de historia a mi pregunta para el interesado.)
Hace algún tiempo, me preguntó this question, interesado en mantener una larga conversación abierta con una gran cantidad de de ida y vuelta. Me había decidido por el diseño de mi propio protocolo ad-hoc, pero las personas con las que hablé realmente querían una interfaz REST, incluso a costa de la señal "Bien, envía tu comando ahora".
Entonces, me preguntaba si ejecutar ASP.NET en un servidor Linux/Mono, pero tropecé con HttpListener. Esto parecía ideal, ya que cada "conversación" podía ejecutarse en un hilo separado. El hilo que llama a HttpListener en un bucle puede buscar para qué hilo es cada conexión entrante y pasar la referencia a ese hilo.
La alternativa para un servicio impulsado por ASP.NET, sería tener el código ASPX recogiendo el estado de una base de datos, y volver a escribir el nuevo estado cuando termine. Sí, funcionaría, pero eso es mucho sobrecargado.
me gustaría empezar aquí: http://www.koders.com/csharp/fidD8A53577DCD929265B6FE7D3B483FE38655DFDCF.aspx –
@MauricioScheffer - Su enlace no parece funcionar. –