Pastas de dados de utilizador WebView2 separadas para diferentes rotas de proxy
Utilize um ambiente WebView2 e uma pasta de dados de utilizador separados para uma segunda política de proxy no arranque, em vez de editar opções num navegador em execução.
Um proxy fornecido através de AdditionalBrowserArguments torna-se parte do comando de arranque do processo do navegador WebView2. Editar esse objeto de opções mais tarde não reescreve a linha de comandos do processo em execução.
Para uma aplicação .NET que cria uma rota independente, escolha uma pasta de dados de utilizador pertencente à aplicação antes de inicializar o controlo:
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 é um diretório gravável escolhido pela aplicação, e browser é o controlo WebView2 existente não inicializado. Execute a inicialização através do ciclo de vida assíncrono normal da interface. A lista de proxies HTTP oferece candidatos para o sinalizador de arranque quando esse perfil fizer pedidos permitidos a sites públicos.
Um novo objeto de opções não é um novo processo
Os ambientes associados à mesma pasta de dados de utilizador podem partilhar o processo do navegador. Criar outro objeto com essa pasta não é uma forma de lhe atribuir sinalizadores de proxy contraditórios no arranque.
Para políticas simultâneas através deste mecanismo de arranque, utilize ambientes separados com pastas separadas. Isso também separa os dados dos seus sites; um segundo ambiente não herda automaticamente o estado de sessão do primeiro.
Para reutilizar a pasta original com novas definições de arranque, feche os controlos que partilham o seu processo e coordene o encerramento antes de inicializar um substituto. Descartar um controlo enquanto outro mantém o processo vivo não é essa transição.
Mantenha o ciclo de vida do ambiente e da pasta junto da aplicação. Criar um novo processo de navegador para cada pedido pode ser muito mais dispendioso do que manter um pequeno conjunto deliberado de rotas.