Frage

Meine Firma ist das Experimentieren mit einem Proxy-Server zu schreiben .NET Fx 3.5 und C #. Aus unserer Forschung Ich habe gelesen, dass Httplistener nicht a guter Kandidat für einen Proxy-Server, obwohl ich bin nicht sicher, warum.

Wir arbeiten derzeit mit der Mentalis Proxy-Beispiel-Quellcode obwohl das wird einbeziehen unter anderem, unsere eigenen Protokollierung und Leistungsindikatoren zu implementieren. Mit Httplistener wird Http.sys wickeln die uns einige der Performance-Statistiken geben wir aus der Box benötigen.

Warum ist Httplistener ein schlechter Kandidat für HTTP-Proxy-Arbeit?

(Und ja, wir erwägen, Squid 3.1 durch das Schreiben oder die Konfiguration eines ICAP-Server als auch.)

War es hilfreich?

Lösung

Httplistener ist in .NET einen großen Gebäude zu schaffen Block für einen einfach HTTP-Server. Wo einfache beinhaltet nicht hohe Betriebsraten unterstützen.

Normalerweise müssen HTTP-Proxies sehr geringer Overhead zu vielen gleichzeitigen Verbindungen auch zu unterstützen, da die Proxy der Funktion bereitstellt (die von der Art des Proxy abhängt).

Proxies sind detailliert in RFC 2616 §8.1.3 ) und liefert sofort ein Element, das (wenn ich verstehe, Httplistener richtig) ist nicht möglich:

  

Der Proxy-Server muss persistente Verbindungen Signal separat mit seinen Kunden und den Ursprungs-Servern (oder einem anderen Proxy-Server), dass es eine Verbindung zu. Jede dauerhafte Verbindung gilt nur für eine Transportverbindung.

Andere Tipps

Sie auch interessieren könnten, dass die Windows-Portierung von nginx vor wenigen Tagen veröffentlicht wurde. Viele Websites, die Tintenfische und Lack Erfahrung haben, sind sehr zufrieden nach dem nginx zu konvertieren. Dann gibt es immer etwas MS ISA-Server in diesen Tagen rufen.

losgezogen am Mentalis Code suchen jetzt: D

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top