Асобныя папкі даных карыстальніка WebView2 для розных маршрутаў проксі
Выкарыстоўвайце асобнае асяроддзе WebView2 і папку даных карыстальніка для другой палітыкі проксі пры запуску замест змены параметраў у працуючым браўзеры.
Проксі, перададзены праз 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-проксі прапануе кандыдатаў для сцяга запуску, калі гэты профіль будзе рабіць дазволеныя запыты да публічных сайтаў.
Новы аб'ект параметраў — не новы працэс
Асяроддзі, звязаныя з адной папкай даных карыстальніка, могуць сумесна выкарыстоўваць працэс браўзера. Стварэнне іншага аб'екта з гэтай папкай не з'яўляецца спосабам прызначыць яму супярэчлівыя сцягі проксі пры запуску.
Для адначасовых палітык праз гэты механізм запуску выкарыстоўвайце асобныя асяроддзі з асобнымі папкамі. Гэта таксама раздзяляе іх даныя сайтаў; другое асяроддзе не ўспадкоўвае аўтаматычна стан уваходу першага.
Каб паўторна выкарыстаць зыходную папку з новымі наладамі запуску, зачыніце элементы кіравання, якія дзеляць яе працэс, і скаардынуйце завяршэнне перад ініцыялізацыяй замены. Вызваленне аднаго элемента, пакуль іншы трымае працэс жывым, не з'яўляецца такім пераходам.
Трымайце жыццёвы цыкл асяроддзя і папкі разам з праграмай. Стварэнне новага працэсу браўзера для кожнага запыту можа быць значна даражэйшым за падтрыманне невялікага мэтанакіраванага набору маршрутаў.