Cartelle dati utente WebView2 separate per diverse rotte proxy
Usa un ambiente WebView2 e una cartella dati utente separati per una seconda politica proxy all'avvio, invece di modificare le opzioni in un browser in esecuzione.
Un proxy fornito tramite AdditionalBrowserArguments diventa parte del comando di avvio del processo del browser WebView2. Modificare successivamente quell'oggetto opzioni non riscrive la riga di comando del processo in esecuzione.
Per un'applicazione .NET che crea una rotta indipendente, scegli una cartella dati utente di proprietà dell'applicazione prima di inizializzare il controllo:
var options = new Microsoft.Web.WebView2.Core.CoreWebView2EnvironmentOptions
{
AdditionalBrowserArguments = "--proxy-server=http://proxy.example:8080"
};
var environment = await Microsoft.Web.WebView2.Core.CoreWebView2Environment
.CreateAsync(userDataFolder: profileFolder, options: options);
await browser.EnsureCoreWebView2Async(environment);profileFolder è una directory scrivibile scelta dall'applicazione, e browser è il controllo WebView2 esistente non inizializzato. Esegui l'inizializzazione tramite il normale ciclo di vita asincrono dell'interfaccia. Il elenco dei proxy HTTP offre candidati per il flag di avvio quando quel profilo effettuerà richieste consentite a siti pubblici.
Un nuovo oggetto opzioni non è un nuovo processo
Gli ambienti associati alla stessa cartella dati utente possono condividere il processo del browser. Creare un altro oggetto con quella cartella non è un modo per assegnargli flag proxy contraddittori all'avvio.
Per politiche simultanee tramite questo meccanismo di avvio, usa ambienti separati con cartelle separate. Questo separa anche i loro dati dei siti web; un secondo ambiente non eredita automaticamente lo stato di accesso del primo.
Per riutilizzare la cartella originale con nuove impostazioni di avvio, chiudi i controlli che condividono il suo processo e coordina la chiusura prima di inizializzare un sostituto. Eliminare un controllo mentre un altro mantiene vivo il processo non è questa transizione.
Mantieni il ciclo di vita dell'ambiente e della cartella con l'applicazione. Creare un nuovo processo del browser per ogni richiesta può costare molto di più che mantenere un piccolo insieme deliberato di rotte.