Onko jaettu .NET IWebProxy turvallinen samanaikaisissa pyynnöissä?
Erota IWebProxyn toteutuksen samanaikaisuussopimus automaattisen välityspalvelimen etsinnän aiheuttamista viiveistä.
IWebProxy kuvaa välityspalvelinkäytännön. Se ei anna jokaiselle toteutukselle samoja samanaikaisuustakuita. Ennen kuin jaat yhden ilmentymän työntekijätehtävien kesken, tunnista sen konkreettinen toteutus ja suoritusympäristö, johon se kuuluu.
Rajapinta tarjoaa kohdekohtaisia reittikyselyitä ja tunnistetietoja. Mukautettu toteutus voi tarkastella kiinteää osoitetta, muuttuvaa tilaa tai automaattista määritystä. Nämä valinnat vaikuttavat sekä turvallisuuteen että suorituskykyyn.
Pidä määritysmuutokset poissa pyyntöjen käsittelystä
Vältä yhden jaetun välityspalvelinobjektin käyttämistä muistilehtisenä: sen osoitteen tai tunnistetietojen muuttaminen tehtävälle A samalla kun tehtävä B valitsee reittiä tekee omistajuudesta epäselvän. Määritä käytäntö ennen kuin annat sen asiakkaalle. Työkuormille, joilla on eri välityspalvelintilit tai päätepisteet, käytä erikseen omistettuja asiakasmäärityksiä.
Historiallinen WebProxy-dokumentaatio ei antanut säikeen turvallisuustakuuta ilmentymän jäsenille. Sovella tätä sopimusta vastaavaan toteutukseen. Jos synkronointi vaaditaan, jokaisen lukijan ja kirjoittajan on osallistuttava; käärelukko ei voi koordinoida kutsujia, jotka käyttävät alkuperäistä objektia suoraan.
Pitkä keskeytys kohdassa GetProxy voi sen sijaan liittyä etsintään tai PAC-arviointiin. Microsoft dokumentoi estävän etsinnän WinHTTP:lle; tämä selitys pätee, kun asiakas käyttää kyseistä taustajärjestelmää. Mittaa reittihaku erikseen yhteys- ja vasteajasta. Hitaan haun sarjoittaminen voi vain luoda jonon.
Kiinteä päätepiste voi poistaa etsinnän, kun kiinteä reitti on tarkoitus. Yhden URI:n tallentaminen muuttuvasta järjestelmäkäytännöstä myös hylkää sen tulevat päätökset. Säilytä tämä ero vanhaa koodia ylläpitäessäsi; käytä HttpClientiä ja sen tuettua käsittelijämääritystä uusiin HTTP-töihin.