C# 是否可以在不关闭浏览器的情况下删除gecko/firefox会话或使其无效?

C# 是否可以在不关闭浏览器的情况下删除gecko/firefox会话或使其无效?,c#,firefox,xpcom,gecko,C#,Firefox,Xpcom,Gecko,是否可以使用gecko/firefox XPCOM界面,在不关闭浏览器的情况下删除或使用户的活动会话无效?我在一个应用程序中使用Gecko embedded(特别是),在这个应用程序中,可能会有多个用户在应用程序的整个生命周期中使用浏览器组件 该应用程序将web浏览与其他各种功能打包,当web浏览器处于“关闭”状态时,应用程序将保持打开状态。就gecko引擎而言,由于进程尚未关闭,活动会话仍然处于活动状态。例如,如果用户要登录Gmail或Facebook,然后关闭浏览器,在重新打开浏览器并导航回

是否可以使用gecko/firefox XPCOM界面,在不关闭浏览器的情况下删除或使用户的活动会话无效?我在一个应用程序中使用Gecko embedded(特别是),在这个应用程序中,可能会有多个用户在应用程序的整个生命周期中使用浏览器组件

该应用程序将web浏览与其他各种功能打包,当web浏览器处于“关闭”状态时,应用程序将保持打开状态。就gecko引擎而言,由于进程尚未关闭,活动会话仍然处于活动状态。例如,如果用户要登录Gmail或Facebook,然后关闭浏览器,在重新打开浏览器并导航回其中一个页面时,该用户将被确定仍在登录。由于多个用户可以在应用程序实际不退出的情况下使用该应用程序,因此会引发隐私问题

我已经尝试在浏览器控件的构造函数/dispose方法中调用和,但是在进程生命周期内NS_关闭xpcom之后无法调用NS_InitXPCOM2,因此这会崩溃

我还使用了的PurgeHistory方法和ReceiveEntries方法-这些方法在流程的生命周期内似乎都没有立即的效果

有人知道任何XPCOM接口可以实现这一点吗?或者,任何指向类似功能的指针,无论是通过XPCOM接口还是Firefox扩展,都会非常感激(是否有任何扩展允许您在不重新打开浏览器的情况下清除当前浏览会话?或者在每个Firefox窗口/选项卡之间为您提供不同会话?)

该程序是用C#编写的,但是任何语言的答案都值得赞赏


非常感谢

我终于找到了允许这样做的界面:
removeAll()

使用GeckoFX的相关C#接口/代码:

[Guid("AAAB6710-0F2C-11d5-A53B-0010A401EB10"),
ComImport,
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface nsICookieManager
{
    void removeAll();
    void remove(string aDomain, string aName, string aPath, bool aBlocked);
}
Xpcom.GetService(“@mozilla.org/cookiemanager;1”).removeAll()在适当的位置