问询:是否计划在Microsoft.Web.WebView2.WinForms中暴露认证相关事件
关于WinForms WebView2控件暴露ClientCertificateRequested和BasicAuthenticationRequested事件的问题
在你使用的WebView2 1.0.2045.28版本中,WinForms WebView2控件确实没有直接在Microsoft.Web.WebView2.WinForms命名空间下暴露ClientCertificateRequested和BasicAuthenticationRequested这两个事件,目前只能通过访问控件的CoreWebView2底层对象来绑定这两个事件,你当前的实现方式是完全可行的:
webBrowser.CoreWebView2.ClientCertificateRequested += webView_ClientCertificateRequested; webBrowser.CoreWebView2.BasicAuthenticationRequested += webView_BasicAuthenticationRequested; // ... void webView_BasicAuthenticationRequested(object sender, CoreWebView2BasicAuthenticationRequestedEventArgs args) { Debug.WriteLine("webView_BasicAuthenticationRequested"); args.Response.UserName = "xxx"; args.Response.Password = "yyy"; } void webView_ClientCertificateRequested(object sender, CoreWebView2ClientCertificateRequestedEventArgs args) { Debug.WriteLine("webView_ClientCertificateRequested"); IReadOnlyList<CoreWebView2ClientCertificate> certificateList = args.MutuallyTrustedCertificates; // ... 证书处理逻辑 }
需要注意的是,绑定这些事件前要确保CoreWebView2已经完成初始化,建议在控件的CoreWebView2InitializationCompleted事件触发后再进行事件绑定,避免空引用异常。
关于是否会将这两个事件直接暴露在WinForms WebView2控件层面:截至当前版本,WebView2官方没有公开的明确计划要做这个调整。这类API的扩展需求通常会在WebView2的官方开发路线图或相关仓库issues中跟踪,但目前通过CoreWebView2使用这两个事件是官方认可的标准用法,功能上完全覆盖需求,无需担心兼容性问题。
内容的提问来源于stack exchange,提问作者Borjan
相关产品推荐
相关产品推荐

