Cartafoles de datos de usuario de WebView2 separados para distintas rutas de proxy
Use un entorno WebView2 e un cartafol de datos de usuario distintos para unha segunda política de proxy ao iniciar, en lugar de editar as opcións dun navegador en execución.
Un proxy fornecido mediante AdditionalBrowserArguments pasa a formar parte da orde de inicio do proceso do navegador WebView2. Editar ese obxecto de opcións máis tarde non reescribe a liña de ordes do proceso en execución.
Para unha aplicación .NET que crea unha ruta independente, escolle un cartafol de datos de usuario propiedade da aplicación antes de inicializar o control:
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 é un directorio escribible seleccionado pola aplicación, e browser é o control WebView2 existente sen inicializar. Executa a inicialización a través do ciclo de vida asíncrono normal da interface. A lista de proxys HTTP ofrece candidatos para o indicador de inicio cando ese perfil vai facer solicitudes permitidas a sitios públicos.
Un obxecto de opcións novo non é un proceso novo
Os entornos asociados co mesmo cartafol de datos de usuario poden compartir o proceso do navegador. Crear outro obxecto con ese cartafol non é unha forma de asignarlle indicadores de proxy contraditorios ao iniciar.
Para políticas simultáneas mediante este mecanismo de inicio, usa entornos separados con cartafoles separados. Iso tamén separa os seus datos de sitios web; un segundo entorno non herda automaticamente o estado de inicio de sesión do primeiro.
Para reutilizar o cartafol orixinal con nova configuración de inicio, pecha os controis que comparten o seu proceso e coordina o apagado antes de inicializar un substituto. Descartar un control mentres outro mantén vivo o proceso non é esa transición.
Mantén o ciclo de vida do entorno e do cartafol xunto coa aplicación. Crear un proceso de navegador novo para cada solicitude pode ser moito máis custoso que manter un conxunto pequeno e deliberado de rutas.