Прокси, подадено чрез AdditionalBrowserArguments, става част от командата за стартиране на процеса на браузъра WebView2. Редактирането на този обект с опции по-късно не пренаписва командния ред на работещия процес.

За .NET приложение, което създава независим маршрут, изберете папка с потребителски данни, притежавана от приложението, преди да инициализирате контролата:

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 е папка с права за запис, избрана от приложението, а browser е съществуващата неинициализирана контрола WebView2. Изпълнете инициализацията чрез нормалния асинхронен жизнен цикъл на интерфейса. Списъкът с HTTP прокси предлага кандидати за флага при стартиране, когато този профил ще прави разрешени заявки към публични сайтове.

Нов обект с опции не е нов процес

Среди, свързани с една и съща папка с потребителски данни, могат да споделят процеса на браузъра. Създаването на друг обект с тази папка не е начин да му се зададат противоречиви прокси флагове при стартиране.

За едновременни политики чрез този механизъм за стартиране използвайте отделни среди с отделни папки. Това разделя и данните им за сайтове; втората среда не наследява автоматично състоянието на вход на първата.

За да използвате отново оригиналната папка с нови настройки за стартиране, затворете контролите, които споделят нейния процес, и координирайте спиране преди инициализирането на замяна. Освобождаването на една контрола, докато друга поддържа процеса жив, не е този преход.

Дръжте жизнения цикъл на средата и папката заедно с приложението. Създаването на нов процес на браузъра за всяка заявка може да е много по-скъпо от поддържането на малък, умишлен набор от маршрути.

Подобни статии