C# 到Web服务的SSL连接具有无效证书解决方案不起作用
在我的WPF应用程序中,我希望通过HTTPS与Web服务建立连接,忽略可能的证书错误,这似乎是我一直在研究的一件相当常见的事情 我发现了这个漂亮的片段:C# 到Web服务的SSL连接具有无效证书解决方案不起作用,c#,web-services,ssl,https,certificate,C#,Web Services,Ssl,Https,Certificate,在我的WPF应用程序中,我希望通过HTTPS与Web服务建立连接,忽略可能的证书错误,这似乎是我一直在研究的一件相当常见的事情 我发现了这个漂亮的片段: ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 我已经在return语句上设置了一个断点,但它从未被调用(也用一个单独的方法进行了尝试) 我还尝试将以下属性设置为false: ServicePointManager.Use
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
我已经在return语句上设置了一个断点,但它从未被调用(也用一个单独的方法进行了尝试)
我还尝试将以下属性设置为false:
ServicePointManager.UseNagleAlgorithm = false;
ServicePointManager.Expect100Continue = false; //tried true too
ServicePointManager.CheckCertificateRevocationList = false;
我还尝试创建我自己的ICertificatePolicy,其中的CheckValidationResult始终返回true并将其归因于ServicePointManager.CertificatePolicy。这也没有起作用
在所有这些尝试中,我得到以下几点:
基础连接已关闭:上发生意外错误
接受
我创建了一个单独的windows窗体应用程序,它只有三行代码:
WebReference.MySebService myWebService = new WebReference.MySebService();
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
bool result = myWebService.TestConnection();
//TestConnection is a method in my WebService that simply returns true.
它成功了
我还能试什么
信息:
- WPF应用程序
- .NET 3.5
- web服务通过单独的类使用
- 它与常规HTTP完美结合
- 不使用代理
- 在服务器上和本地主机上的WS上都失败
- 在我的测试应用程序上运行的三行代码在我的WPF应用程序中不起作用
- WebService的两个实例完全相同(所有属性,包括URL)
- 尝试删除并重新添加web引用,就像在我的测试应用程序中一样
- 使用从未存在过的自定义名称,如 海绵宝宝是安全的
- 不要相信Visual Studio会检查我的程序集是否与任何内容冲突
- 始终检查内部异常,无论外部异常看起来有多熟悉