ServiceStack-এর .NET 6+ বিল্ডে HTTP Utils একটি অলস শেয়ার্ড HttpClient তৈরি করে। প্রথম হেল্পার কলের আগে অ্যাপ্লিকেশন ইনিশিয়ালাইজেশনের সময় এর হ্যান্ডলার ফ্যাক্টরি সেট করুন:

ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
    new System.Net.Http.HttpClientHandler
    {
        UseProxy = true,
        Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
        AutomaticDecompression =
            System.Net.DecompressionMethods.Brotli |
            System.Net.DecompressionMethods.Deflate |
            System.Net.DecompressionMethods.GZip
    };

শেয়ার্ড ক্লায়েন্ট আগে থেকেই থাকলে এই ফ্যাক্টরি বদলালে সেটি পুনরায় কনফিগার হয় না। পরে করা অ্যাসাইনমেন্ট অকার্যকর মনে হলে এই সময়ই প্রথম পরীক্ষা। ওই শেয়ার্ড ক্লায়েন্ট তৈরি হওয়ার আগে HTTP প্রক্সি তালিকা থেকে একটি HTTP এন্ডপয়েন্ট পাবলিক রুটের জন্য বেছে নেওয়া যায়।

প্রক্সি অ্যাকাউন্টের জন্য অ্যাপ্লিকেশনের কনফিগারেশনের মাধ্যমে WebProxy.Credentials সেট করুন। HttpClientHandler.UseDefaultCredentials সার্ভার অ্যাকাউন্টের সাথে সম্পর্কিত এবং ওই প্রক্সি অবজেক্টের ক্রেডেনশিয়াল স্বয়ংক্রিয়ভাবে পূরণ করে না।

পুরোনো HttpWebRequest requestFilter উদাহরণ আগের বাস্তবায়নকে লক্ষ্য করে। নতুন রূপে, রিকোয়েস্ট কনফিগারেশন রিকোয়েস্ট ফিল্ড কভার করে, আর হ্যান্ডলার সংযোগ রাউটিংয়ের মালিক।

আগে থেকে ইনস্টল করা কাস্টম-ক্লায়েন্ট ফ্যাক্টরি বা অ্যাপ্লিকেশনের HTTP-ক্লায়েন্ট-ফ্যাক্টরি মালিকানা ব্যবস্থা থাকলে তা রাখুন। এই হ্যান্ডলার ফ্যাক্টরি একটি শেয়ার্ড নীতি; একসাথে চলা অসম্পর্কিত রুটের জন্য আলাদা মালিকানার ক্লায়েন্ট দরকার।

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