默认情况下,WebView2程序的用户数据是按程序独立存储的:
- 桌面应用位置是当前路径,以 xxx.exe.WebView2命名
- UWP程序在ApplicationDataLocalFolder 程序包文件夹中的子文件夹
这么做的好处是程序具有独立的会话信息。但很多时候我们需要自定义用户数据存储的位置,例如:
- 程序的根目录可能没有写入权限
- 想自定义文件夹名称,重新规划位置
- 需要和别的WebView2程序共享cookie,缓存、历史记录、插件等
自定义用户数据文件的方式比较简单,在EnsureCoreWebView2Async中传入自定义用户数据文件位置即可。
var env = await CoreWebView2Environment.CreateAsync(userDataFolder: @"R:WebView2Data");
await webView.EnsureCoreWebView2Async(env);
另外,这种方式也可以用来使得同一个程序使用不同的会话,例如,同时实现登陆两个不同的账号,在测试的时候比较有用。
参考文章: