ServicePointManager.ServerCertificateValidationCallback
ist eine globale statische Eigenschaft, die von jedem Stück Code in Ihrer Anwendung einfach, indem Sie überschrieben werden können:Was ist der Grund dafür, dass ServicePointManager.ServerCertificateValidationCallback so konzipiert wurde?
ServicePointManager.ServerCertificateValidationCallback
= (sender, cert, chain, sslPolicyErrors) => true;
Warum haben sie sich entscheiden, es auf diese Weise zu implementieren? Sicherlich sollte es eine Eigenschaft auf dem WebRequest
Objekt sein, und Sie sollten einen sehr guten Grund dafür haben, warum Sie das Zertifikat ignorieren.
Also was Sie beschweren ist, dass dies eine statische Eigenschaft anstelle einer Instanzeigenschaft ist, die es schwierig macht, unterschiedliche Richtlinien in unabhängigen Teilen der Anwendung zu verwenden? – CodesInChaos
Nein, weil irgendein Bit von Drittanbieter-Code, den Sie konsumieren, wie SDKs usw., Ihren Callback überschreiben und überschreiben kann. – superlogical
Das sieht für mich nicht wie eine Frage aus. Sie beschweren sich nur über einen unnötigen Gebrauch des globalen veränderbaren Zustandes. – CodesInChaos