Проксі, переданий через 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-проксі пропонує кандидатів для прапорця запуску, коли цей профіль робитиме дозволені запити до публічних сайтів.

Новий об'єкт параметрів — не новий процес

Середовища, пов'язані з однією папкою даних користувача, можуть спільно використовувати процес браузера. Створення іншого об'єкта з цією папкою не є способом призначити йому суперечливі прапорці проксі під час запуску.

Для одночасних політик через цей механізм запуску використовуйте окремі середовища з окремими папками. Це також розділяє дані їхніх сайтів; друге середовище не успадковує автоматично стан входу першого.

Щоб повторно використати початкову папку з новими налаштуваннями запуску, закрийте елементи керування, які спільно використовують її процес, і скоординуйте завершення перед ініціалізацією заміни. Звільнення одного елемента керування, поки інший підтримує процес живим, не є таким переходом.

Тримайте життєвий цикл середовища й папки разом із програмою. Створення нового процесу браузера для кожного запиту може бути значно дорожчим за підтримку невеликого навмисного набору маршрутів.

Схожі статті