.NET Framework میں کسٹم پراکسی ماڈیول لوڈ کرنا
جب defaultProxy ماڈیول کا کوئی اثر نظر نہ آئے تو ٹائپ لوڈنگ، ایگزیکیوٹیبل کنفیگریشن اور درخواست اووررائیڈ چیک کریں۔
.NET Framework ایپلیکیشن کے لیے، پراکسی ماڈیول کو configuration/system.net/defaultProxy کے تحت رجسٹر کریں:
<defaultProxy>
<module type="Company.Network.RoutingProxy, Company.Network" />
</defaultProxy>پہلا نام قسم ہے اور دوسرا اس کی اسمبلی کی شناخت، DLL کا راستہ نہیں۔ اسمبلی اور انحصار ایپلیکیشن کے معمول کے قواعد کے مطابق لوڈ ہونے چاہئیں۔
دو دروازے چیک کریں۔ پہلے، رن ٹائم کو بغیر پیرامیٹر کنسٹرکٹر کے ذریعے IWebProxy نافذ کرنے والی عوامی قسم بنانی چاہیے۔ لوڈنگ یا تعمیر کی ناکامیوں کے اندرونی استثنائیں رکھیں؛ وہ کسی بھی پراکسی TCP کنکشن سے پہلے آتی ہیں۔ ڈیسک ٹاپ ریلیز کے لیے، تصدیق کریں کہ رجسٹریشن ایگزیکیوٹیبل کی تعینات شدہ ترتیب تک پہنچی ہے۔ ClickOnce کے ساتھ، بنائی گئی، شائع شدہ اور انسٹال شدہ .exe.config کا موازنہ کریں۔ کلاس لائبریری کی App.config عام طور پر اپنے ہوسٹ عمل کو کنفیگر نہیں کرتی۔
دوم، درخواست کو وہی ڈیفالٹ استعمال کرنا چاہیے۔ واضح پراکسی تفویض اسے بدل سکتی ہے، اور دوسرا HTTP اسٹیک اس کنفیگریشن ماڈل کو نہیں پڑھ سکتا۔ ماڈیول کے اندر، GetProxy اور IsBypassed کو مستقل فیصلے درکار ہیں، صحیح اسکیم اور پورٹ استعمال کرنے والے مطلق پراکسی URI کے ساتھ۔
اسناد کے رویے کو بھی مستقل بنائیں۔ ہارڈ کوڈ شدہ اکاؤنٹ بنانے والا اور اپنے سیٹر کو نظر انداز کرنے والا گیٹر لوڈنگ کامیاب ہونے کے بعد بھی بعد کی کنفیگریشن کو ناکام بنا سکتا ہے۔
یہ .NET Framework کے لیے دیکھ بھال کا طریقہ کار ہے۔ موجودہ .NET میں نیٹ ورکنگ کلائنٹ کی معاون پراکسی کنفیگریشن استعمال کریں، بجائے اس کے کہ توقع کریں کہ یہ پرانی system.net رجسٹریشن ہر HttpClient کو کنٹرول کرے گی۔