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;
ここでコールバックが* event *の場合、デフォルトで生成されるコードイベント加算器は適切なローロックアルゴリズムを実行して、失われた追加がないことを保証する。もちろん、ここのコールバックが単にデリゲートであれば - そのように見えます - はい、コード自体を書く責任があります。 –
@エリック:デリゲートとして文書化されています。しかし、事象があっても、演算子 '+ ='の逆は ' - ='であり、古い*やおそらく失効した*状態を復元しません。これは、オペレータ自身が(完全に「temp」を落とす)安全性を安全にするでしょう。もちろん、 ' - ='は、 '+ ='がそれを識別するためにラムダを '実現'(キャッチ)する必要があり、 'var'がC#でラムダでは動作しないという事実から来ています。 ... – DarthGizka