如何使用MicrosoftWebView2同时登录多个帐户
c#
我已经创建了一个带有 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 入门。