DefaultNetworkCredentials или DefaultCredentials

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

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

2 ответа

Решение

Это одно и то же, что вы можете подтвердить сами, используя дизассемблер, такой как 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

Другие вопросы по тегам