תיקיות נתוני משתמש 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 מציעה מועמדים עבור דגל ההפעלה כאשר פרופיל זה יבצע בקשות מותרות לאתרים ציבוריים.
אובייקט אפשרויות חדש אינו תהליך חדש
סביבות המשויכות לאותה תיקיית נתוני משתמש יכולות לחלוק את תהליך הדפדפן. יצירת אובייקט נוסף עם אותה תיקייה אינה דרך להקצות לו דגלי פרוקסי סותרים בעת ההפעלה.
עבור מדיניות בו-זמנית דרך מנגנון ההפעלה הזה, השתמשו בסביבות נפרדות עם תיקיות נפרדות. זה גם מפריד את נתוני האתרים שלהן; סביבה שנייה אינה יורשת אוטומטית את מצב הכניסה של הראשונה.
כדי לעשות שימוש חוזר בתיקייה המקורית עם הגדרות הפעלה חדשות, סגרו את הפקדים החולקים את התהליך שלה ותאמו את הכיבוי לפני אתחול מחליף. שחרור פקד אחד בזמן שאחר מחזיק את התהליך בחיים אינו המעבר הזה.
שמרו על מחזור החיים של הסביבה והתיקייה עם היישום. יצירת תהליך דפדפן חדש לכל בקשה עשויה להיות יקרה בהרבה מאחזקת סט קטן ומכוון של מסלולים.