Pregunta

Mi compañía está experimentando con la escritura de un servidor proxy utilizando .NET Fx 3.5 y C #. A partir de nuestra investigación href="http://bytes.com/groups/net-web-services/510683-proxy-server-httplistener" rel="noreferrer"> He leído que no es un HttpListener buen candidato para un servidor proxy aunque estoy seguro de por qué.

Actualmente estamos trabajando con el Mentalis ejemplo proxy de código fuente embargo, que implicará , entre otras cosas, la aplicación de nuestras propias tala y contadores de rendimiento. Usando HttpListener envolverá http.sys que nos dará algunas de las estadísticas de rendimiento que necesitamos fuera de la caja.

¿Por qué es HttpListener un mal candidato para el trabajo de proxy HTTP?

(Y sí que estamos considerando Calamar 3.1 de la grabación o la configuración de un servidor ICAP también.)

¿Fue útil?

Solución

HttpListener está en .NET para proporcionar un bloque de construcción importante para un servidor sencilla HTTP. Donde simple no incluye el apoyo altas tasas de operación.

Normalmente servidores proxy HTTP tienen que ser muy baja sobrecarga para apoyar muchas conexiones simultáneas, así como proporcionar la función del proxy (que depende del tipo de proxy).

Proxies se detallan en RFC 2616 §8.1.3 ) y que proporciona inmediatamente un elemento que (si entiendo correctamente HttpListener) no es posible:

  

El servidor proxy debe señalar las conexiones persistentes por separado con sus clientes y los servidores de origen (u otros servidores proxy) que se conecta. Cada conexión persistente se aplica a una sola vía de comunicación.

Otros consejos

También puede considerar que el puerto de las ventanas de Nginx fue lanzado hace unos días. Muchos sitios donde se ha calamar y experiencia barniz son muy satisfecho después de convertir a nginx. Luego está siempre lo está llamando MS servidor ISA en estos días.

ido a mirar el código Mentalis ahora: D

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top