Wpf 如何在浏览器中隔离本地存储

Wpf 如何在浏览器中隔离本地存储,wpf,local-storage,cefsharp,Wpf,Local Storage,Cefsharp,问题 是否可以让一个WPF应用程序运行多个浏览器选项卡,每个选项卡都有自己的独立本地存储 编辑:回答 这完全有可能 问题 我发现在一个WPF应用程序中需要有多个浏览器实例,每个实例都是各自独立的浏览器。这意味着他们不能分享任何东西。想象一下,在一个浏览器中,每个选项卡都可以有自己的用户,就像Chrome如何管理用户一样,但是在每个选项卡中,而不是在每个单独的浏览器中 从这里我很快就看到了请求上下文: 然而,这并不是隔离LocalStorage,这正变得令人痛苦,因为一些网站将其会话令牌存储

问题

是否可以让一个WPF应用程序运行多个浏览器选项卡,每个选项卡都有自己的独立本地存储


编辑:回答 这完全有可能


问题

我发现在一个WPF应用程序中需要有多个浏览器实例,每个实例都是各自独立的浏览器。这意味着他们不能分享任何东西。想象一下,在一个浏览器中,每个选项卡都可以有自己的用户,就像Chrome如何管理用户一样,但是在每个选项卡中,而不是在每个单独的浏览器中

从这里我很快就看到了请求上下文:

然而,这并不是隔离LocalStorage,这正变得令人痛苦,因为一些网站将其会话令牌存储在LocalStorage中。我现在得到的是:

BrowserSettings = new RequestContextSettings
            {
                CachePath = cacheFileName,
                PersistSessionCookies = false,
                PersistUserPreferences = false
            };
其中,
cacheFileName
对每个选项卡都是唯一的

我还尝试使用命令行参数
禁用本地存储
禁用本地存储禁用本地存储,但是使用本地存储存储会话数据的网站根本不运行


我脑海中有一个疯狂的解决方案,我创建了另一个WPF应用程序,它只是浏览器,并将该应用程序嵌入到我自己的每个选项卡中,但这带来了它自己的一系列问题和头痛,我不完全确定这是否会起作用。任何帮助都将不胜感激

RequestContext应该允许您隔离本地存储。上面的示例代码甚至无法编译,因为它不正确。您必须设置并且所有的can缓存路径都必须位于该属性下。@amaitland:编译时没有问题,我的类中有一个名为
BrowserSettings
的属性,我忽略了它。不管怎样,我想我所需要的只是有人告诉我,这应该行得通,我是个白痴。可以确认,它完全可以工作。错误就在我这边,因为我将RequestContext设置为不同的ChromiumWebBrowser,然后是绑定到屏幕的ChromiumWebBrowser。我更尴尬的是,我已经尝试了三天来解决这个问题,却没有看到我为自己制造的问题。问题解决了!谢谢!浏览器有自己的BrowserSettings属性,因此您选择的名称非常混乱。