Pergunta

Nossa empresa está experimentando escrever um servidor proxy usando o .NET Fx 3.5 e C #. Do nosso Eu li que HttpListener não é um bom candidato para um servidor proxy que eu tenho certeza de como isso.

No momento, estamos trabalhando com a Mentalis procuração exemplo código fonte entanto, que envolverá , entre outras coisas, a implementação de nossos próprios contadores de registro e de desempenho. Usando HttpListener vai embrulhar Http.sys que nos dará algumas das estatísticas de desempenho que exigem fora da caixa.

Então, por que é HttpListener um mau candidato para HTTP trabalho proxy?

(E sim, estamos considerando Squid 3,1 por escrito ou configurar um servidor ICAP também.)

Foi útil?

Solução

HttpListener está em .NET para fornecer um alicerce importante para um simples HTTP servidor. Onde simples inclui não suportando taxas de operação elevados.

Tipicamente HTTP proxies precisa ser muito baixa sobrecarga para suportar muitas ligações simultâneas, bem como proporcionar a função do proxy (que depende do tipo de proxy).

Proxies estão detalhados na RFC 2616 §8.1.3 ) e que imediatamente fornece um item que (se eu entendi corretamente HttpListener) não é possível:

O servidor proxy deve sinalizar conexões persistentes separadamente com seus clientes e os servidores de origem (ou outros servidores proxy) que se conecta. Cada conexão persistente se aplica a apenas uma ligação de transporte.

Outras dicas

Você também pode considerar que a porta de janelas do nginx foi lançado há poucos dias. Muitos sites que têm experiência lulas e verniz são muito satisfeito após a conversão para nginx. Depois, há sempre o que quer que MS está chamando servidor ISA estes dias.

ido para olhada no código Mentalis agora: D

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top