由于一些证书问题,我不得不写
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;
答案 0 :(得分:1)
整个操作应该包含在try ... finally
中,以确保即使异常飞来也能恢复原始值。 +=
可以替换为=
,除非有些人使用回调进行验证以外的操作(例如日志记录)。
当然,这种方案在同时出现的情况下也是如此。这个东西至少应该被放入一个关键的部分或者是互斥的,所以问题只表现为表现不佳而不是海森堡...