.NET IWebProxy: سسٹم پراکسیوں کو WebProxy میں کاسٹ کرنے سے بچیں
IWebProxy کے طور پر واپس کی گئی سسٹم پراکسی کو یہ فرض کیے بغیر سنبھالیں کہ اس کی ٹھوس کلاس WebProxy ہے۔
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
واپس کی گئی آبجیکٹ کو IWebProxy ہی رکھیں۔ یہ حصہ موجودہ WebRequest پر مبنی کوڈ پر لاگو ہوتا ہے، نئی ایپلیکیشن میں اس پرانی API کو اپنانے کی سفارش نہیں۔
WebProxy انٹرفیس نافذ کرتا ہے، لیکن انٹرفیس نافذ کرنے والی ہر آبجیکٹ WebProxy سے وراثت نہیں پاتی۔ اس لیے سسٹم ریپر کسی بھی نیٹ ورک درخواست سے پہلے کاسٹ کو مسترد کر سکتا ہے۔ WebProxyWrapperOpaque جیسا نجی .NET Framework کلاس نام نفاذ کی تفصیل ہے، پراکسی اینڈ پوائنٹ یا اکاؤنٹ کا مسئلہ نہیں۔
روٹ فیصلے کے لیے اصل منزل URI کے ساتھ IsBypassed(destination) اور GetProxy(destination) کال کریں۔ بائی پاس وہی منزل واپس کر سکتا ہے، اور PAC پر مبنی پالیسی کسی دوسرے ہوسٹ کے لیے دوسرا روٹ منتخب کر سکتی ہے۔
توثیق کے لیے IWebProxy پہلے ہی Credentials ظاہر کرتا ہے۔ پراپرٹی تک پہنچنے کے لیے کاسٹ کیے بغیر معاون اکاؤنٹ اور طریقہ استعمال کریں۔
بدلی WebProxy بنانے کے لیے ایک URI نکالنا اصل پالیسی کے فی منزل رویے کو چھوڑ دیتا ہے۔ یہ صرف اسی وقت کریں جب مقررہ اینڈ پوائنٹ ہی مطلوبہ ایپلیکیشن کنفیگریشن ہو، قسم کی خرابی کے حل کے طور پر نہیں۔