ServicePointManager.ServerCertificateValidationCallback
jest globalnym dobrem statyczne, które mogą zostać zastąpione przez każdego kawałka kodu w aplikacji, po prostu robi:Jakie są powody, dla których usługa ServicePointManager.ServerCertificateValidationCallback została zaprojektowana w ten sposób?
ServicePointManager.ServerCertificateValidationCallback
= (sender, cert, chain, sslPolicyErrors) => true;
Dlaczego decydują się na wdrożenie go w ten sposób? Z pewnością powinna to być właściwość obiektu WebRequest
i powód, dla którego ignorujesz certyfikat, powinien mieć bardzo dobry powód.
Więc na co narzekasz, że jest to właściwość statyczna zamiast właściwości instancji, co utrudnia stosowanie różnych zasad w niezależnych częściach aplikacji? – CodesInChaos
Nie, ponieważ jakikolwiek fragment kodu trzeciej strony, który zużywasz jak SDK itp. Może przejść i zastąpić twoje wywołanie zwrotne tam, gdzie jest. – superlogical
To nie wygląda na prawdziwe pytanie do mnie. Po prostu narzekasz na niepotrzebne użycie globalnego, zmiennego stanu. – CodesInChaos