ImapClient.ServerCertificateValidationCallback与ServicePointManager.ServerCertificateValidationCallback

时间:2018-11-11 14:47:10

标签: mailkit

我可以认为ImapClient.ServerCertificateValidationCallback和ServicePointManager.ServerCertificateValidationCallback相同吗?我的意思是同一物体(在幕后)。

在我的场景中,我必须从消息正文中收集URL /值并存储在DB中,这些URL是WebServices地址,值是要与WebService一起使用的参数。 收集所有数据后,必须从WebServices获得响应

对于电子邮件,我必须将ImapClient.ServerCertificateValidationCallback设置为接受任何证书。

另一方面,对于某些Web服务,我无法绕过证书验证,因此不应设置ServicePointManager.ServerCertificateValidationCallback。

现在,我要像每个人一样设置和取消设置

????.ServerCertificateValidationCallback = Function(s, c, h, k) True
...do whatetever I need....
????.ServerCertificateValidationCallback = nothing

如果按顺序工作(邮件然后是WebService),这似乎很好。 但是,如果一个用户开始检查邮件,而另一个用户开始检查URL,会发生什么呢?一个设置有可能干扰另一个设置吗?

1 个答案:

答案 0 :(得分:0)

MailKit将使用您分配给ImapClient的回调(如果非空),并且仅在ImapClient本身未设置的情况下,才使用ServicePointManager的回调。