要修复我的应用程序中的错误,我必须设置System.Net程序集中找到的ServicePointManager类的SecurityProtocolType,如下所示:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)
在.Net 4.5+中,SecurityProtocolType枚举有四个成员:
public enum SecurityProtocolType
{
Ssl3 48,
Tls 192,
Tls11 768,
Tls12 3072
}
Run Code Online (Sandbox Code Playgroud)
但是,在.Net 4.0中,SecurityProtocolType枚举只有两个成员:
public enum SecurityProtocolType
{
Ssl3 48,
Tls 192
}
Run Code Online (Sandbox Code Playgroud)
因为,我的代码中的另一个项目也需要相同的修复,但该项目是在.Net 4.0上没有Tls12作为枚举的成员,这个答案提出了以下解决方法(前提是我安装了.Net 4.5)框):
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Run Code Online (Sandbox Code Playgroud)
可能是我错过了明显的smoething,但我的问题是,(SecurityProtocolType)3072
当3072不是.Net 4.0中enum的有效值时,如何解决Tls12.我想了解幕后工作的魔力是什么.
归档时间: |
|
查看次数: |
94 次 |
最近记录: |