为每个GeckoFx实例使用不同的代理

Cườ*_*iêm 10 c# gecko geckofx

我正在使用Geckfx18.0和xulrunner18.01.由于Geckofx与其他实例共享cookie和用户首选项,因此我尝试创建一个新的配置文件目录,使它们具有唯一的设置,但似乎没有用.这是我的代码.我的代码有问题吗?

String profileDir = port.ToString();
string directory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Path.Combine("Geckofx", profileDir));
this.Text = directory.ToString();

if (!Directory.Exists(directory))
    Directory.CreateDirectory(directory);

Gecko.Xpcom.ProfileDirectory = directory;
GeckoPreferences.User["network.proxy.type"] = 1;
GeckoPreferences.User["network.proxy.socks"] = "127.0.0.1";
GeckoPreferences.User["network.proxy.socks_port"] = port;
GeckoPreferences.User["network.proxy.socks_version"] = 5;
GeckoPreferences.User["general.useragent.override"] = ua;
Run Code Online (Sandbox Code Playgroud)

Par*_*and -1

您是否在设置之前初始化 Gecko 实例ProfileDirectory

请注意,这XpCom.ProfileDirectory是一个静态属性,因此如果您尝试启动每个实例,请记住您可能会撤消之前设置的路径。

此外,您无需在代码中设置首选项,而是通过GeckoPreferences.Save(). 然后您可以通过 重新加载它们以支持不同的用户GeckoPreferences.Load()