2016-08-29 1 views
0

Ich habe eine Fiddler-Erweiterung erstellt, die gut funktioniert. Also habe ich beschlossen, weitere Funktionen hinzuzufügen und Benutzereinstellungen in einer Konfigurationsdatei zu speichern. Das funktioniert gut, wenn ich die Erweiterung von einem eigenen Verzeichnis aus führe. ZB: Navigiere zu C: \ Benutzer \ richa \ Documents \ Fiddler2 \ Scripts und führe die Anwendung aus.Fiddler/Laden und Speichern Benutzereinstellungen/Erweiterung

Wenn Fiddler jedoch von c: \ Programme ... ausgeführt wird und Fiddler dann die Erweiterung von meinem Benutzerverzeichnis abruft, schlägt es fehl. Es dauerte eine Weile, es zu finden, da es ohne Informationen in Fiddler Logs leise, versagt (und ja, ich die Ausführlichkeit aufdrehen)

Hier ist ein Screenshot des Fehlers: enter image description here

ich diese gefangen indem Sie einen Debugger an Fiddler anhängen ... Die Verwendung von System.Configuration schlägt daher fehl, wenn versucht wird, eine Datei zu öffnen/zu erstellen/zu schreiben.

speziell in diesem Abschnitt des Codes:

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; 

Also dachte ich, ich erhöhen Berechtigungen benötigen würde zu öffnen/erstellen/schreiben Sie eine Datei aus dem Kontext, wenn Fiddler läuft von ihrem Verzeichnis installiert ist. Das Ausführen von Fiddler im Admin-Modus hat jedoch nicht geholfen.

Meine Frage ist, wie können Prefs in einer Fiddler Extension gespeichert werden?

Antwort

1

Es ist schwer zu sagen, was genau passiert, ohne den Code Ihrer Erweiterung zu haben.

Der Deal ist Fiddler lädt Erweiterungen durch Reflexion. Ihre Erweiterung endet also in der Fiddler-App-Domain. Je nachdem, wie Sie die System.Configuration-API verwenden, werden Sie entweder die in fiddler.exe.config gespeicherten Einstellungen lesen oder versuchen, sie zu ändern. Wahrscheinlich willst du das sowieso nicht. Was Sie davon abhält, wenn Sie Fiddler als Admin ausführen, ist höchstwahrscheinlich Windows UAC.

+0

Ich kam schließlich zu der gleichen Schlussfolgerung - es ist einer dieser Momente, in denen Sie die Nase voll haben. Ich suche jedoch nach einem Fiddler-Erweiterungsbeispiel, mit dem die Konfiguration gespeichert werden kann? Sieht so aus, als ob die neue Konfiguration nicht damit umgehen kann. Wenn ich dazu komme, werde ich einfach meine eigene XML-Datei codieren. – codeputer