.NET 6+ में ServiceStack HttpUtils की प्रॉक्सी सेटिंग्स
इनिशियलाइज़ेशन के समय .NET 6+ साझा क्लाइंट का प्रॉक्सी कॉन्फ़िगर करें; बाद में फ़ैक्टरी बदलने से मौजूदा क्लाइंट नहीं बदलता।
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-क्लाइंट-फ़ैक्टरी ownership व्यवस्था पहले से स्थापित है, तो उसे बनाए रखें। यह हैंडलर फ़ैक्टरी एक साझा नीति है; एक साथ चलने वाले असंबंधित रूट के लिए अलग ownership वाले क्लाइंट चाहिए।