我在我的项目中添加了 WCF 连接服务引用并设置ServicePointManager.ServerCertificateValidationCallback
功能。由于某种原因,当我请求服务器时,此回调函数被忽略。如果用户确认,我必须通知用户证书问题并继续请求。
static async Task Main(string[] args)
{
ServicePointManager.ServerCertificateValidationCallback = MyServerCertificateValidationCallback;
var data = new DataSoapClient(DataSoapClient.EndpointConfiguration.DataSoap);
data.Endpoint.Address = new EndpointAddress("https://open.helios.eu/demo/Data.asmx");
(data.Endpoint.Binding as BasicHttpBinding).Security.Mode = BasicHttpSecurityMode.Transport;
var result = (await data.GetInfoAsync("GETREDIRECTINFO", string.Empty)).Body.GetInfoResult;
Console.WriteLine(result);
}
private static bool MyServerCertificateValidationCallback(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
// function won't execute
return true;
}