بالنسبة لتطبيق .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 وكيل مطلق يستخدم المخطط والمنفذ الصحيحين.

اجعل سلوك بيانات الاعتماد متسقاً أيضاً. إنشاء getter لحساب ثابت مضمّن مع تجاهل setter الخاص به يمكن أن يبطل التكوين اللاحق حتى بعد نجاح التحميل.

هذه آلية صيانة لـ .NET Framework. استخدم تكوين الوكيل المدعوم من عميل الشبكة في .NET الحالي بدلاً من افتراض أن تسجيل system.net القديم هذا يحكم كل HttpClient.

مقالات ذات صلة