Folder data pengguna WebView2 terpisah untuk rute proxy berbeda
Gunakan lingkungan dan folder data pengguna WebView2 terpisah untuk kebijakan proxy kedua saat peluncuran, alih-alih mengedit opsi pada browser yang sedang berjalan.
Proxy yang diberikan melalui AdditionalBrowserArguments menjadi bagian dari perintah peluncuran proses browser WebView2. Mengedit objek opsi itu nanti tidak menulis ulang baris perintah proses yang sedang berjalan.
Untuk aplikasi .NET yang membuat rute independen, pilih folder data pengguna milik aplikasi sebelum menginisialisasi kontrol:
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 adalah direktori yang dapat ditulis dan dipilih aplikasi, dan browser adalah kontrol WebView2 yang ada dan belum diinisialisasi. Jalankan inisialisasi melalui siklus hidup asinkron normal UI. Daftar proxy HTTP menawarkan kandidat untuk flag peluncuran saat profil itu akan membuat permintaan yang diizinkan ke situs publik.
Objek opsi baru bukan proses baru
Lingkungan yang terkait dengan folder data pengguna yang sama dapat berbagi proses browser. Membuat objek lain dengan folder itu bukan cara untuk memberinya flag proxy saat peluncuran yang saling bertentangan.
Untuk kebijakan simultan melalui mekanisme peluncuran ini, gunakan lingkungan terpisah dengan folder terpisah. Itu juga memisahkan data situs web mereka; lingkungan kedua tidak otomatis mewarisi status masuk lingkungan pertama.
Untuk menggunakan kembali folder asli dengan pengaturan peluncuran baru, tutup kontrol yang berbagi prosesnya dan koordinasikan penutupan sebelum menginisialisasi pengganti. Membuang satu kontrol saat kontrol lain menjaga proses tetap hidup bukanlah transisi itu.
Pertahankan siklus hidup lingkungan dan folder bersama aplikasi. Membuat proses browser baru untuk setiap permintaan bisa jauh lebih mahal daripada memelihara sekumpulan rute kecil yang disengaja.