我的WCF服务是.Net 3.5,我的Web应用程序aspx也是.Net 3.5。我们最近从Windows Server 2010迁移到Server 2016。
我们遇到以下错误:
我搜索了几个博客,他们建议添加代码:
servicepointManager.SecurityProtocol = (SecurityProtocolType)3072;
我不确定此行是否可以解决问题。
我也不知道如何在我的代码中使用此语句:
我的WCF服务是.Net 3.5,我的Web应用程序aspx也是.Net 3.5。我们最近从Windows Server 2010迁移到Server 2016。
我们遇到以下错误:
我搜索了几个博客,他们建议添加代码:
servicepointManager.SecurityProtocol = (SecurityProtocolType)3072;
我不确定此行是否可以解决问题。
我也不知道如何在我的代码中使用此语句:
此错误主要表明信任关系存在问题。由于服务器端的服务受证书保护,因此在进行呼叫之前,我们应该信任服务器证书。同时,服务器计算机和客户端计算机都将通过SSL/TLS
协议协商通信,该协议由操作系统和Dotnet框架版本确定。
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
可以通过以下语句建立信任关系。
客户端(只需在拨打电话之前将其添加)。
ServicePointManager.ServerCertificateValidationCallback += delegate
{
return true;
};
Uri uri = new Uri("http://10.157.13.69");
ChannelFactory<IService> factory = new ChannelFactory<IService>(new BasicHttpBinding(),new EndpointAddress(uri));
或者,我们可以在本地CA中安装服务器证书。
此行代码段通常指定TLS/SSL
版本,建议操作系统决定TLS / SSL版本,否则不建议使用此版本。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
与上述用于信任服务器证书的语句一样,我们只是在进行调用之前将其添加到客户端。
随时让我知道是否有什么可以帮助您的。