يبدو هذا التسلسل صريحًا، لكنه ينتهي في .NET 10 بلا أي بيانات اعتماد للوكيل:

proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword);
proxy.UseDefaultCredentials = false;

في تطبيق WebProxy في .NET 10، يؤدي ضبط UseDefaultCredentials على false إلى إسناد null إلى Credentials. أما ضبطه على true فيختار CredentialCache.DefaultCredentials. الخاصيتان تتحكمان في الاختيار نفسه للحساب.

لحساب خاص بخدمة معيّنة، أسنِد بيانات الاعتماد المقصودة دون إعادة تعيين لاحقة:

var proxy = new WebProxy("http://proxy.example.net:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

إذا كان على شيفرة الإعداد الحالية إيقاف بيانات الاعتماد الافتراضية صراحةً، فافعل ذلك قبل إسناد NetworkCredential. قد يكون الـ getter الخاص به false بينما توجد بيانات اعتماد صريحة على نحو صحيح؛ ولا يعني false بالضرورة أنه لم يُضبط أي حساب.

أرفِق هذا الكائن بالمعالج الذي ينفّذ الطلب. وللمصادقة المتكاملة في Windows، اختر بدلًا من ذلك بيانات الاعتماد الافتراضية عن قصد، باستخدام هوية العملية المنطبقة.

افحص ترتيب مهيّئ الكائن والدوال المساعدة بحثًا عن إسنادات لاحقة تستبدل الحساب المقصود. اربط هذا التشخيص بتطبيق WebProxy المستخدم؛ فقد تتحكم خاصية بالاسم نفسه على معالج HTTP في نطاق مصادقة مختلف.

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