Welches soll ich verwenden, wenn ich einem Proxy (lokal oder im Netzwerk) einen Berechtigungsnachweis geben muss?DefaultNetworkCredentials oder DefaultCredentials
Was ist der genaue Unterschied zwischen diesen beiden?
Welches soll ich verwenden, wenn ich einem Proxy (lokal oder im Netzwerk) einen Berechtigungsnachweis geben muss?DefaultNetworkCredentials oder DefaultCredentials
Was ist der genaue Unterschied zwischen diesen beiden?
Sie sind genau die gleiche Sache, die Sie für sich selbst mit einem Disassembler wie Reflector bestätigen können. Der einzige Unterschied ist, dass DefaultNetworkCredentials
ein Objekt NetworkCredentials
zurückgibt und DefaultCredentials
es auf ICredentials
zurückgibt. Sie haben also Zugriff auf weitere Informationen mit einem NetworkCredentials-Objekt, aber welche von denen, die Sie für ein Objekt verwenden, das eine ICredentials-Instanz benötigt, macht keinen Unterschied, da es dieselbe Objektinstanz ist: object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials)
gibt true
zurück.
Der Unterschied zwischen den beiden ist sehr subtil. DefaultNetworkCredentials ist das neuere von beiden (hinzugefügt mit .NET 2.0), und der Hauptunterschied besteht darin, dass es unter bestimmten Sicherheitsbedingungen mehr privaten Informationen über den angemeldeten Benutzer der Anwendung verfügbar machen kann. Für weitere Informationen, versuchen, dieses Blog-Post:
netter, ich hätte Reflektor vor der Frage ausprobieren sollen :) –