¿HttpListener funciona bien en Mono?

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.

No quiero la sobrecarga de ejecutar un servidor web completo o la versión de Mono de ASP.NET. Estoy pensando en tener un solo proceso con un hilo que se ocupe de 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 Microsoft de HttpListener y cómo funciona con el controlador Http.sys. Por desgracia, la documentación de Mono sobre 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 imagino que se implementa de manera sustancialmente diferente).

¿Podría alguien señalarme algunos recursos para discutir este módulo, por favor?

Muchas gracias, Bill, billpg.com

(Un poco de historia para mi pregunta para los interesados).

Hace un tiempo preguntéesta pregunta, interesado en mantener abierta una larga conversación con muchos intercambios. Me decidí a diseñar 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 "Ok, envía tu comando ahora".

Entonces, me preguntaba sobre cómo ejecutar ASP.NET en un servidor Linux / Mono, pero me topé con HttpListener. Esto parecía ideal, ya que cada "conversación" podrí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 hacer que el código ASPX recoja el estado de una base de datos y escriba el nuevo estado cuando finalice. Sí, funcionaría, pero eso es una gran sobrecarga.

Respuestas a la pregunta(2)

Su respuesta a la pregunta