Domanda

La mia azienda sta sperimentando con la scrittura di un server proxy utilizzando .NET Fx 3.5 e C #. Dalla nostra ricerca Ho letto che HttpListener non è un buon candidato per un server proxy anche se non sono sicuro del perché.

Al momento stiamo lavorando con il Mentalis esempio delega codice sorgente però che coinvolgerà , tra le altre cose, l'implementazione nostri contatori di registrazione e di prestazioni. Utilizzando HttpListener vi avvolgerà Http.sys che ci darà alcune delle statistiche sulle prestazioni abbiamo bisogno, fuori dalla scatola.

Quindi, perché è HttpListener un cattivo candidato per il lavoro proxy HTTP?

(E sì che stiamo considerando Squid 3.1 scrivendo o la configurazione di un server ICAP pure.)

È stato utile?

Soluzione

HttpListener è in .NET per fornire un importante blocco di costruzione per un server semplice HTTP. Dove semplice non include sostenere elevati tassi di funzionamento.

Tipicamente proxy HTTP devono essere molto basso overhead per supportare numerose connessioni simultanee, oltre a fornire la funzione del proxy (che dipende dal tipo di proxy).

I proxy sono dettagliati in RFC 2616 §8.1.3 ) e che fornisce subito un elemento che (se ho capito correttamente HttpListener) non è possibile:

  

Il server proxy deve segnalare le connessioni persistenti separatamente con i propri clienti ed i server di origine (o altri server proxy) che si collega a. Ogni connessione persistente si applica ad un solo collegamento di trasporto.

Altri suggerimenti

Si potrebbe anche considerare che la porta finestre di nginx è stato rilasciato pochi giorni fa. Molti siti che hanno calamari e l'esperienza di vernice sono molto contento dopo la conversione a nginx. Poi c'è sempre tutto ciò che MS sta chiamando server ISA in questi giorni.

andato a guardare il codice Mentalis ora: D

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top