0
由于一些证书问题,我不得不写ServerCertificateValidationCallback逆转
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => true;
这是一个更好的方式,来电后逆转已经取得,或这是不必要的?
var temp = ServicePointManager.ServerCertificateValidationCallback;
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => true;
var r = func(obj);
ServicePointManager.ServerCertificateValidationCallback = temp;
我注意到,如果这里的回调是一个*事件*然后代码默认生成事件添加器将执行适当的低锁定算法以确保没有丢失的添加。当然,如果这里的回调只是一个委托 - 看起来像 - 那么是的,你自己负责编写代码。 –
@Eric:它被记录为代表。然而,即使是事件,运算符'+ ='的反转也是' - =',而不是恢复一些旧的*和可能过时的*状态。这会使该方案与运营商本身一样安全(完全降低“临时”)。当然,' - ='是有问题的,因为它需要'物化'(捕获)'+ ='的lambda以赋予其身份,另一个复杂因素来自'var'不能与C#中的lambdas一起使用... – DarthGizka