提琴/加载和保存用户首选项/扩展

时间:2016-08-29 06:39:45

标签: fiddler

我创建了一个功能强大的Fiddler扩展程序。所以我决定添加更多功能,并将用户首选项保存到配置文件中。如果我从自己的目录运行扩展,这非常有用。例如,我导航到C:\ Users \ richa \ Documents \ Fiddler2 \ Scripts,然后运行该应用程序。

然而,当Fiddler从c:\ Programs ...运行时,Fiddler然后从我的用户目录中选择扩展名,它就会失败。我花了一段时间才找到它,因为它无声地失败,在Fiddler Logs中没有任何信息(是的,我提出了详细程度)

以下是错误的屏幕截图: enter image description here

我通过将调试器附加到Fiddler来捕获这个...所以当它尝试打开/创建/写入文件时使用System.Configuration失败。

具体这段代码:

 if (_Configuration == null)
  {
    // Get the current configuration file.
    _Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
  }

  // Add the custom section to the application
  // configuration file.
  if (_Configuration.Sections[nameof(WebHookParameterSection)] == null)
  {
    _Configuration.Sections.Add(nameof(WebHookParameterSection), _WebHookConfiguration);
    // Save the application configuration file.
    _WebConfigurationManagement.SaveWebConfigurationParameters();
  }

  _WebHookConfiguration = _Configuration.GetSection(nameof(WebHookParameterSection)) as WebHookParameterSection;

所以我认为我需要提升权限才能从Fiddler从其安装目录运行的上下文中打开/创建/写入文件。但是,在管理员模式下运行Fiddler并没有帮助。

我的问题是,如何将prefs保存在Fiddler扩展中?

1 个答案:

答案 0 :(得分:1)

如果没有扩展程序的代码,很难说究竟发生了什么。

这笔交易是Fiddler通过反思加载扩展。因此,您的扩展程序最终会出现在Fiddler app域中。根据您使用System.Configuration API的方式,您将读取存储在fiddler.exe.config中的设置或尝试修改它。反正你可能真的不想要那样。什么阻止你在运行Fiddler作为管理员时很可能这样做很可能是Windows UAC。