【问题标题】:How to make Gecko use seperate CookieContainer per instance?如何让 Gecko 每个实例使用单独的 CookieContainer?
【发布时间】:2013-08-15 06:09:04
【问题描述】:

由于 .Net 中的 GeckoWebBrowser 与所有其他 GeckoWebBrowser 实例共享 cookie,我希望 GeckoWebBrowser 拥有自己的 cookie 容器,该容器不共享之前在其他 GeckoWebBrowser 或其他实例中创建的任何 cookie。

例如,当我创建 GeckoWebBrowser 时,它不应该有任何 cookie。当我运行 2 个 GeckoWebBrowser 实例时,它们有自己的 cookie 容器,并且不会相互共享或冲突 cookie。

这怎么可能?

【问题讨论】:

    标签: c# .net cookies gecko geckofx


    【解决方案1】:

    您可以更改 ProfileDirectory,它将保留 cookie 的唯一副本(以及所有其他用户设置):

    string profileDir = "UniqueIdentifier";
    string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Path.Combine("Geckofx", profileDir));
    if (!Directory.Exists(directory))
        Directory.CreateDirectory(directory);
    Gecko.Xpcom.ProfileDirectory = directory;
    

    【讨论】:

    • 我试过了,但它不起作用,浏览器相互共享cookies
    • 它对我来说很好用。您知道您需要为每个实例更改字符串“UniqueIdentifier”吗?所以它需要是“UniqueIdentifier1”、“UniqueIdentifier2”等。
    • 我已经更改了名称并创建了文件夹,但起始文件夹只能由其他实例访问。
    • 您需要在启动任何 Web 浏览器实例之前设置 ProfileDirectory。并且在应用程序运行时可能无法更改。
    • 如果我们不能在运行时更改“ProfileDirectory”,那么多线程选项就没有用了
    猜你喜欢
    • 2013-12-11
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-04
    • 1970-01-01
    相关资源
    最近更新 更多