DefaultNetworkCredentials ou DefaultCredentials
-
22-09-2019 - |
Question
Lequel suis-je censé utiliser quand je dois fournir un titre à un proxy (local ou en réseau)?
Quelle est la différence exacte entre ces deux?
La solution
Ils sont exactement la même chose, que vous pouvez confirmer par vous-même en utilisant un désassembleur comme réflecteur. La seule différence est que DefaultNetworkCredentials
retourne un objet NetworkCredentials
et DefaultCredentials
et jette à ICredentials
. Donc, vous avez accès à plus d'informations avec un objet NetworkCredentials, mais de ceux que vous utilisez l'offre à un objet nécessitant une instance de ICredentials fait pas de différence, car il est la même instance d'objet: retourne object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials)
true
Autres conseils
La différence entre les deux est très subtile. DefaultNetworkCredentials est la plus récente des deux (ajouté avec .NET 2.0), et la différence de base est que, dans certaines conditions de sécurité, il peut exposer des informations plus privées sur l'utilisateur connecté à l'application. Pour plus d'informations, essayez ce blog:
http://blogs.msdn.com/buckh/ archives / 2004/07/28 / 199706.aspx