【问题标题】:Is it possible to use ServicePointManager with Webbrowser control?是否可以将 ServicePointManager 与 Webbrowser 控件一起使用?
【发布时间】:2010-09-15 23:08:03
【问题描述】:

我想禁用从一个带有“不受信任的证书”的 HTTPS 站点的登录页面获得的“警报窗口”。

ServicePointManager 用于 WebRequest/WebResponse:

> public static bool
> ValidateServerCertificate(object
> sender, X509Certificate certificate,
> X509Chain chain, SslPolicyErrors
> sslPolicyErrors) {
>     return true; }
> 
> ServicePointManager.ServerCertificateValidationCallback
> = new RemoteCertificateValidationCallback(ValidateServerCertificate);

但是如何将它与 Webbrowser 控件一起使用?

【问题讨论】:

  • 我想知道您是否可以调整注册表以更改 Web 浏览器的默认行为,这也适用于同一台机器上使用的 WebBrowser 控件

标签: c# browser certificate


【解决方案1】:

ServicePointManager 用于托管代码; WebBrowser 是 shdocvw 的包装器,因此几乎可以肯定会有一个非常不同的编程模型。

如果您可以自动执行此操作(我不确定您是否可以),我希望必须参考 COM 版本才能获得完整的 API(请参阅:AxWebBrowser)。 WebBrowser 仅公开了完整功能的一个对 .NET 友好的子集 - 足以完成最常见的工作。

另一种选择可能是自己获取数据(WebClient / WebRequest / 等),然后将该 html 推送到 WebBrowser - 但这会搞乱外部链接等。

【讨论】:

    【解决方案2】:

    正如 Marc Gravell 所指出的,我不认为可以在 WebBrowser 控件中使用 ServicePointManager 或 ServicePoint 类,但您也不需要这样做。

    请参阅我对您提出原始问题的其他帖子的回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2011-02-14
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多