O HttpListener funciona bem no Mono?

Eu estou olhando para escrever um pequeno serviço web para rodar em uma pequena caixa Linux. Eu prefiro codificar em C #, então estou procurando usar o Mono.

Não quero a sobrecarga de executar um servidor Web completo ou a versão do ASP.NET da Mono. Estou pensando em ter um único processo com um thread que lide com cada conexão do cliente. Memória compartilhada entre threads em vez de um banco de dados.

Eu li um pouco sobre a versão do HttpListener da Microsoft e como ele funciona com o driver Http.sys. Infelizmente, a documentação do Mono nesta classe é apenas a interface de classe automatizada, sem discussão de como ela funciona sob o capô. (O Linux não possui Http.sys, então imagino que seja implementado de maneira substancialmente diferente.)

Alguém poderia me indicar alguns recursos para discutir este módulo, por favor?

Muito obrigado, Bill, billpg.com

(Um pouco da minha pergunta para os interessados.)

Algum tempo atrás, eu pergunteiessa questão, interessado em manter uma longa conversa aberta com muitas respostas. Eu havia decidido projetar meu próprio protocolo ad-hoc, mas as pessoas com quem conversei realmente queriam uma interface REST, mesmo ao custo do sinal "Ok, envie seu comando agora".

Então, pensei em executar o ASP.NET em um servidor Linux / Mono, mas me deparei com o HttpListener. Isso parecia ideal, pois cada "conversa" poderia ser executada em um tópico separado. O segmento que chama HttpListener em um loop pode procurar para qual segmento cada conexão de entrada é e passar a referência a esse segmento.

A alternativa para um serviço orientado a ASP.NET seria fazer com que o código ASPX capturasse o estado de um banco de dados e gravasse novamente o novo estado quando terminar. Sim, funcionaria, mas isso é muita sobrecarga.

questionAnswers(2)

yourAnswerToTheQuestion