Hald ein eigen .NET-handter for kvar proxykonto
Bygg separate handterarar for samtidige kontoar i staden for å byta ut WebProxy.Credentials på ein transport som alt tenar førespurnader.
Ein transport kan halda på proxy-legitimasjonsleverandørobjektet som vart valt då puljehandsamaren vart oppretta. Å byta ut WebProxy.Credentials etterpå er ikkje eit påliteleg kontobytte.
Opprett ruta og kontoen saman før klienten vert brukt:
var proxy = new System.Net.WebProxy(proxyEndpoint)
{
Credentials = new System.Net.NetworkCredential(proxyUser, proxyPassword)
};
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = proxy
};
var client = new System.Net.Http.HttpClient(handler);Endepunktet og legitimasjonen kjem frå applikasjonskonfigurasjonen. Bygg ein annan handterar for ein annan identitet; ein annan HttpClient som deler den første handteraren, deler òg policyen hans.
Ein eigendefinert ICredentials-leverandør kan svara på seinare utfordringar, men han kan ikkje merkja ein etablert tunnel om som ein annan konto. Å tildela eitt globalt brukarnamn/passord rundt asynkrone kall lèt utfordringstidspunktet og kontoeigarskapet stå i konflikt.
Hald eit avgrensa sett med klientar når gjenbruk er naudsynt. Tøm gammalt arbeid før transporten vert avhenda. Ein ny handterar per førespurnad sløser med tilkoplingpoolar; å halda kvar historisk konto for alltid får dei til å veksa utan grense.