Подтвердить что ты не робот

DefaultNetworkCredentials или DefaultCredentials

Какой я должен использовать, когда мне нужно предоставить учетные данные прокси-серверу (локальному или в сети)?

Какая точная разница между этими двумя?

4b9b3361

Ответ 1

Это точно то же самое, что вы можете подтвердить сами, используя дизассемблер, такой как Reflector. Единственное отличие состоит в том, что DefaultNetworkCredentials возвращает объект NetworkCredentials, а DefaultCredentials передает его в ICredentials. Таким образом, у вас есть доступ к дополнительной информации с объектом NetworkCredentials, но какой из них вы используете для объекта, требующего экземпляра ICredentials, не имеет никакого значения, так как он тот же экземпляр объекта: object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials) возвращает true.

Ответ 2

Разница между двумя очень тонкая. DefaultNetworkCredentials является более новым из двух (добавлено с .NET 2.0), а основное различие заключается в том, что при определенных условиях безопасности он может предоставлять более частную информацию о зарегистрированном пользователе в приложении. Для получения дополнительной информации попробуйте этот пост в блоге:

http://blogs.msdn.com/buckh/archive/2004/07/28/199706.aspx