Μια μεταφορά μπορεί να κρατήσει το αντικείμενο παροχέα διαπιστευτηρίων proxy που επιλέχθηκε όταν δημιουργήθηκε ο διαχειριστής της δεξαμενής της. Η αντικατάσταση του WebProxy.Credentials μετά δεν είναι αξιόπιστη λειτουργία εναλλαγής λογαριασμού.

Δημιουργήστε τη διαδρομή και τον λογαριασμό μαζί πριν χρησιμοποιήσετε τον πελάτη:

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);

Το τελικό σημείο και τα διαπιστευτήρια προέρχονται από τη ρύθμιση παραμέτρων της εφαρμογής. Δημιουργήστε άλλον handler για δεύτερη ταυτότητα· ένα άλλο HttpClient που μοιράζεται τον πρώτο handler μοιράζεται και την πολιτική του.

Ένας προσαρμοσμένος παροχέας ICredentials μπορεί να απαντήσει σε μεταγενέστερες προκλήσεις, αλλά δεν μπορεί να μετονομάσει μια εδραιωμένη σήραγγα ως άλλο λογαριασμό. Η ανάθεση ενός καθολικού ονόματος χρήστη/κωδικού γύρω από ασύγχρονες κλήσεις αφήνει τον χρονισμό της πρόκλησης και την κυριότητα του λογαριασμού σε σύγκρουση.

Κρατήστε ένα περιορισμένο σύνολο πελατών όταν χρειάζεται επαναχρησιμοποίηση. Αδειάστε την παλιά εργασία πριν απορρίψετε τη μεταφορά της. Ένας νέος handler ανά αίτημα σπαταλά δεξαμενές συνδέσεων· το να κρατάτε κάθε ιστορικό λογαριασμό για πάντα τα αυξάνει χωρίς όριο.

Σχετικά άρθρα