var handler = new System.Net.Http.HttpClientHandler
{
    UseProxy = true,
    Proxy = new System.Net.WebProxy(
        "http://proxy.example.net:8080")
};

var transport = new Azure.Core.Pipeline.HttpClientTransport(handler);

var credential = new Azure.Identity.ClientSecretCredential(
    tenantId, clientId, clientSecret,
    new Azure.Identity.ClientSecretCredentialOptions
    {
        Transport = transport
    });

var vault = new Azure.Security.KeyVault.Secrets.SecretClient(
    new Uri(vaultUrl),
    credential,
    new Azure.Security.KeyVault.Secrets.SecretClientOptions
    {
        Transport = transport
    });

Usate i vaultUrl, tenantId, clientId e clientSecret reali dell'applicazione. Le due assegnazioni Transport = transport sono intenzionali: una instrada il recupero del token, l'altra le richieste di segreti di Key Vault.

Mantenete vaultUrl come endpoint effettivo dell'insieme. Il WebProxy dell'handler contiene l'intermediario; candidati HTTP pubblici sono disponibili nell'elenco di proxy HTTP quando i criteri di rete dell'insieme consentono quella rotta; configurate i suoi Credentials prima di creare i client se la rete li richiede.

Riusate il trasporto per il carico dei client e liberate le risorse possedute allo spegnimento. Una connessione proxy riuscita stabilisce una rotta, ma i criteri di rete e di accesso di Key Vault decidono ancora se l'applicazione può leggere il segreto.

Articoli correlati