J'ai une classe qui se connecte à une API Web, donc je suis INITIALISATION un HTTPClient statique en haut de la classe comme celui-ciauthentification Manipulation à l'aide HTTPClient
private static readonly HttpClient httpClient = new HttpClient();
https://docs.microsoft.com/enus/azure/architecture/antipatterns/improper-instantiation/
Ce HTTPClient est utilisé par tous méthodes publiques dans la classe pour contacter l'API, chaque méthode sauf login() nécessite un en-tête d'authentification de base, cet en-tête doit être au format:
Autorisation: Basic device_id: X-Secret-Key
Où device_id est une constante pour cette instance de la classe et la clé secrète un retour de la méthode login().
toutes les méthodes doivent contenir:
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo)));
Où demande est en cours de création et HTTPRequestMessage authInfo est une chaîne dans le format device_id: X-Secret-Key.
Ou si un chaque méthode appeler un séparé HTTPClient de celui utilisé par le Login() fonction, déclarée comme:
var handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential (device_id, secret_key);
var client = new HttpClient (handler);
Merci pour toutes les réponses
Que fait le paramètre support? –
Oups, "de base", pas "porteur". J'ai édité ma réponse –