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 কন্ট্রোল। UI-এর স্বাভাবিক অ্যাসিঙ্ক লাইফসাইকেলের মাধ্যমে আরম্ভকরণ চালান। HTTP প্রক্সি তালিকা সেই প্রোফাইল অনুমোদিত পাবলিক-সাইট অনুরোধ করলে লঞ্চ ফ্ল্যাগের জন্য প্রার্থী দেয়।

নতুন অপশন অবজেক্ট নতুন প্রক্রিয়া নয়

একই ব্যবহারকারী-ডেটা ফোল্ডারের সাথে যুক্ত পরিবেশগুলো ব্রাউজার প্রক্রিয়া ভাগ করতে পারে। সেই ফোল্ডার দিয়ে আরেকটি অবজেক্ট তৈরি করা তাকে বিরোধপূর্ণ লঞ্চ-টাইম প্রক্সি ফ্ল্যাগ দেওয়ার উপায় নয়।

এই লঞ্চ ব্যবস্থার মাধ্যমে একসাথে নীতি চালাতে, আলাদা ফোল্ডারসহ আলাদা পরিবেশ ব্যবহার করুন। এটি তাদের ওয়েবসাইট ডেটাও আলাদা করে; দ্বিতীয় পরিবেশ প্রথমটির লগইন অবস্থা স্বয়ংক্রিয়ভাবে উত্তরাধিকার পায় না।

মূল ফোল্ডার নতুন লঞ্চ সেটিংসে পুনরায় ব্যবহার করতে, এর প্রক্রিয়া ভাগ করা কন্ট্রোলগুলো বন্ধ করুন এবং প্রতিস্থাপন শুরু করার আগে বন্ধ হওয়ার সমন্বয় করুন। একটি কন্ট্রোল ছাড়ার সময় অন্যটি প্রক্রিয়া জীবিত রাখা সেই পরিবর্তন নয়।

পরিবেশ ও ফোল্ডারের লাইফসাইকেল অ্যাপ্লিকেশনের সাথে রাখুন। প্রতিটি অনুরোধের জন্য নতুন ব্রাউজার প্রক্রিয়া তৈরি করা ছোট সুপরিকল্পিত পথের সেট রক্ষণাবেক্ষণের চেয়ে অনেক বেশি ব্যয়বহুল হতে পারে।

সম্পর্কিত নিবন্ধ