c# - 我是否必须在每个请求前添加 SecurityProtocol?VB.Net / C#
问题描述
嘿,我有一个请求 URL 并修复 SSL 问题的程序,我发现必须在其前面添加以下代码:
Dim serverCertificateValidationCallback As [Delegate] = ServicePointManager.ServerCertificateValidationCallback
System.Net.ServicePointManager.ServerCertificateValidationCallback = Function(se As Object, cert As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslerror As System.Net.Security.SslPolicyErrors) True
ServicePointManager.Expect100Continue = True
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType)
那么我是否必须在主窗体加载事件中只添加一次此代码,还是必须在每个函数/子/窗体中添加它?
解决方案
ServicePointManager
是静态的,因此只需设置一次。不过考虑一下:
来源:https ://docs.microsoft.com/en-us/dotnet/api/system.net.servicepointmanager?view=net-5.0
推荐阅读
- javascript - 这个 useState 函数是做什么的以及如何做的?
- quanteda - 关于 textstat_simil 和 textstat_dist 的问题(Lit Review 相关)
- jsf - 为什么使用延迟加载对任何字段 Prime Faces 数据表进行排序后过滤器变为空?
- php - 安装 xampp 后 PHP 不显示
- dart - Dart 中的 Object、Dynamic 和 Var 之间的区别?
- pytorch - 批处理中每个单个数据点的操作损失
- arrays - 使用 XSLT 将 XML 元素移动到不同的节点
- tomcat - 在 64 位 Windows 环境中安装 32 位 Tomcat
- python - 有没有办法在 Python 中进行矩阵乘法,但矩阵中的项目是 str 而不是 int
- azure - 使用 Azure Pipelines 为应用服务配置运行状况检查