Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top