c# - 如何使用 Microsoft WebView2 同时登录多个帐户
问题描述
我已经创建了一个带有 webview2 控件的应用程序并运行它并使用用户 A 登录到我的网站,然后再次运行我的应用程序而不关闭前一个实例并在同一网站上使用用户 B 登录,然后登录成功。当我检查前一个实例时,用户 A 仍然登录。如何在一个实例应用程序上执行相同的操作?我已经使用两个 webview2 控件进行了尝试,当我使用用户 B 登录时,用户 A 被注销或会话被用户 B 替换。
解决方案
WebVeiw2 使用用户数据文件夹来存储 cookie。
要在不同的会话中启动控件的另一个实例,作为一个选项,您可以设置UserDataFolder,例如:
private async void button1_Click(object sender, EventArgs e)
{
webView21.CreationProperties =
new Microsoft.Web.WebView2.WinForms.CoreWebView2CreationProperties();
webView21.CreationProperties.UserDataFolder = System.IO.Path.Combine(
Application.StartupPath, $"{Guid.NewGuid()}");
await webView21.EnsureCoreWebView2Async();
webView21.CoreWebView2.Navigate("https://outlook.com");
}
对于那些想要开始使用WebView2的人,您需要在您的机器上安装WebView2 Runtime和Microsoft Edge Chromium 。您还需要在项目中安装WebView2 NuGet 包。然后您可以从这里开始:Windows 窗体中的 WebView2 入门。
推荐阅读
- ansible - Ansible删除带有通配符/正则表达式/ glob的文件,但有异常
- angular - Angular Service Worker 数据组不工作
- tailwind-css - 如何使div在顺风中填充父级的全高
- c# - 遍历使用 yield 的 IEnumerable
- tree - 带有-P标志的linux树命令
- python - 正则表达式非贪婪匹配组
- python - Plotly 动画气泡图不会每年更改值
- javascript - TypeError: Cadastro.findALL 不是函数
- java - Spring 链式事务管理器与 Atomikos
- python - 给定 URI,通过 Python 将文件上传到 Google Storage