.NET IHttpClientFactory: نامزد کلائنٹ کا پراکسی کنفیگر کرنا
IHttpClientFactory نامزد کلائنٹ کے بنیادی ہینڈلر پر پراکسی لگائیں اور کال سائٹ پر وہی نام استعمال کریں۔
ایک نامزد HttpClient کے لیے کنفیگر کیا گیا پراکسی IHttpClientFactory کے واپس کردہ ہر کلائنٹ کو خودکار طور پر کنفیگر نہیں کرتا۔ رجسٹریشن کا نام اور مطلوبہ نام ساتھ رکھیں۔
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});پھر وہ نامزد کنفیگریشن حاصل کریں:
var client = factory.CreateClient("via-proxy");یہ اینڈ پوائنٹ صرف مثال ہے۔ اجازت یافتہ عوامی سروس کی درخواستوں کے لیے، HTTP پراکسی فہرست نامزد کلائنٹ کے WebProxy URL کے لیے امیدوار فراہم کرتی ہے۔ ڈیفالٹ بے نام کلائنٹ کہیں اور بنانا ایک مختلف تلاش ہے، چاہے دونوں کلائنٹ ایک ہی انجیکٹ شدہ فیکٹری سے آئیں۔
پراکسی رویے کو منزل کی درخواست ہیڈر سمجھنے کے بجائے بنیادی ہینڈلر پر کنکشن کی سطح پر کنفیگر کریں۔ فیکٹری اپنے واپس کردہ HttpClient اشیاء سے الگ ہینڈلرز کی عمر کا انتظام کر سکتی ہے۔
اگر کال کسی ٹائپ شدہ کلائنٹ یا کسی اور SDK کی ہے، تو دیکھیں کون سی رجسٹریشن اس کا HttpClient فراہم کرتی ہے۔ درست کنفیگر شدہ مگر کبھی استعمال نہ ہونے والا نامزد کلائنٹ اس SDK کے نیٹ ورک راستے پر اثر نہیں ڈالتا۔
مستحکم روٹنگ پالیسی کے لیے یہ کنفیگریشن استعمال کریں۔ آپریشنز کے درمیان فعال ہینڈلر تبدیل کرنا اب بھی ایک الگ ہم وقتی اور عمر کا مسئلہ ہے۔