DefaultNetworkCredentials o DefaultCredentials
-
22-09-2019 - |
Pregunta
¿Cuál se supone que voy a usar cuando tenga que suministrar una credencial para un proxy (local o en red)?
¿Cuál es la diferencia exacta entre estos dos?
Solución
Son exactamente lo mismo, que se puede confirmar por sí mismo utilizando un desensamblador como reflector. La única diferencia es que DefaultNetworkCredentials
devuelve un objeto NetworkCredentials
y DefaultCredentials
y lo arroja a ICredentials
. Por lo que tiene acceso a más información con un objeto NetworkCredentials, pero que de los que se utiliza el suministro a un objeto que requiere una instancia ICredentials hace ninguna diferencia, ya que es la misma instancia de objeto:. Retornos object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials)
true
Otros consejos
La diferencia entre los dos es muy sutil. DefaultNetworkCredentials es el más reciente de los dos (añadido con .NET 2.0), y la diferencia central es que bajo ciertas condiciones de seguridad, se puede exponer la información más privada sobre el usuario conectado a la aplicación. Para obtener más información, trate de esta entrada del blog:
http://blogs.msdn.com/buckh/ archivo / 2004/07/28 / 199706.aspx