在 .NET 8 中,PictureBox 加载远程图像的行为发生了变化。 现在,在通过 WebClient 加载图像之前,ServicePointManager.CheckCertificateRevocationList 被设置为 true
,因此 WebClient
会在验证过程中根据证书吊销列表(CRL)检查证书。
以前的行为
以前, ServicePointManager.CheckCertificateRevocationList 未设置为 true
。
WebClient
将远程映像加载到PictureBox控件时,没有在验证过程中检查证书与CRL的核对。
新行为
从 .NET 8 开始,ServicePointManager.CheckCertificateRevocationList 设置为 true
,并且 WebClient
在 PictureBox
控件中加载远程映像时,会在验证过程中根据 CRL 检查证书。 加载映像后,CheckCertificateRevocationList
会在应用程序的剩余生存期内成为true
。
已引入的版本
.NET 8
破坏性变更的类型
此更改为行为更改。
更改原因
在创建ServicePointManager.CheckCertificateRevocationList或true
对象之前,最好将其设置为WebClient
WebRequest
,以便这些对象不接受已吊销的证书作为有效证书。
建议的措施
负载 行为更改中概述了此更改的影响。 如果想要恢复到之前的状态,该文章还说明了如何通过一个切换来实现这一操作。