Hiwalay na mga folder ng data ng user ng WebView2 para sa iba't ibang ruta ng proxy
Gumamit ng hiwalay na kapaligiran at folder ng data ng user ng WebView2 para sa ikalawang patakaran ng proxy sa paglulunsad sa halip na i-edit ang mga opsyon sa tumatakbong browser.
Ang proxy na ibinibigay sa pamamagitan ng AdditionalBrowserArguments ay nagiging bahagi ng command ng paglulunsad ng proseso ng browser ng WebView2. Ang pag-edit sa object ng mga opsyon na iyon sa ibang pagkakataon ay hindi nagsusulat muli ng command line ng tumatakbong proseso.
Para sa isang .NET application na gumagawa ng independiyenteng ruta, pumili ng folder ng data ng user na pag-aari ng application bago i-initialize ang 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);Ang profileFolder ay isang naisusulat na direktoryo na pinili ng application, at ang browser ay ang umiiral na hindi pa na-initialize na control ng WebView2. Patakbuhin ang initialization sa karaniwang async na lifecycle ng UI. Ang listahan ng HTTP proxy ay nag-aalok ng mga kandidato para sa launch flag kapag ang profile na iyon ay gagawa ng pinapayagang kahilingan sa mga pampublikong site.
Ang bagong object ng opsyon ay hindi bagong proseso
Ang mga kapaligirang nauugnay sa parehong folder ng data ng user ay maaaring magbahagi ng proseso ng browser. Ang paggawa ng isa pang object gamit ang folder na iyon ay hindi paraan upang bigyan ito ng magkakasalungat na proxy flag sa paglulunsad.
Para sa sabay-sabay na patakaran sa pamamagitan ng mekanismong ito ng paglulunsad, gumamit ng hiwalay na mga kapaligiran na may hiwalay na mga folder. Hinihiwalay din nito ang kanilang data ng website; ang ikalawang kapaligiran ay hindi awtomatikong nagmamana ng estado ng pag-login ng una.
Upang muling gamitin ang orihinal na folder na may mga bagong setting ng paglulunsad, isara ang mga control na nagbabahagi ng proseso nito at i-coordinate ang pagsasara bago i-initialize ang kapalit. Ang pagtatapon ng isang control habang pinapanatiling buhay ng isa ang proseso ay hindi ang paglipat na iyon.
Panatilihin ang lifecycle ng kapaligiran at folder kasama ng application. Ang paggawa ng bagong proseso ng browser para sa bawat kahilingan ay maaaring mas magastos kaysa sa pagpapanatili ng maliit at sadyang hanay ng mga ruta.