WebProxy.UseDefaultCredentials میتواند اعتبارنامه صریح را بازنشانی کند
از بازنشانی حساب صریح پروکسی .NET با اختصاص UseDefaultCredentials در ادامه خودداری کنید.
این توالی صریح به نظر میرسد، اما در .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 لزوماً به معنای پیکربندینشدن هیچ حسابی نیست.
این شیء را به handlerی که درخواست را انجام میدهد پیوست کنید. برای احراز هویت یکپارچه Windows، بهجای آن آگاهانه اعتبارنامههای پیشفرض را با استفاده از هویت قابلاعمال فرایند انتخاب کنید.
ترتیب مقداردهی اولیه شیء و متدهای کمکی را برای اختصاصهای بعدی که حساب موردنظر را جایگزین میکنند بررسی کنید. این تشخیص را به پیادهسازی WebProxy در حال استفاده گره بزنید؛ ویژگی همنام روی handler HTTP میتواند دامنه احراز هویت دیگری را اداره کند.