public bool LoadFromRegistry() { using (var key = Registry.CurrentUser.OpenSubKey(RegKeyBase)) { if (null == key) { return(false); } SuppressedSymbols.AddRange(GetMulti(key, "SuppressedSymbols")); EnableSuppression = Boolean.Parse(GetSingle(key, "EnableSuppression", "false")); BindAddress = GetSingle(key, "BindAddress", "0.0.0.0"); BindPort = Int32.Parse(GetSingle(key, "BindPort", "9811")); TraceDirectory = GetSingle(key, "TraceDirectory", null); foreach (var s in GetMulti(key, "ModulePathRemappings")) { var elems = s.Split('|'); ModulePathRemappings.Add(new ModulePathRemapping { Platform = elems[0], Path = elems[1], ReplacementPath = elems[2] }); } SymbolPaths.AddRange(GetMulti(key, "SymbolPaths")); return(true); } }
public void SaveToRegistry() { using (var key = Registry.CurrentUser.CreateSubKey(RegKeyBase)) { key.SetValue("SuppressedSymbols", SuppressedSymbols.ToArray()); key.SetValue("EnableSuppression", EnableSuppression.ToString()); key.SetValue("BindAddress", BindAddress.ToString()); key.SetValue("BindPort", BindPort.ToString()); key.SetValue("TraceDirectory", TraceDirectory.ToString()); var vals = new List <string>(); foreach (var rm in ModulePathRemappings) { vals.Add(String.Format("{0}|{1}|{2}", rm.Platform, rm.Path, rm.ReplacementPath)); } key.SetValue("ModulePathRemappings", vals.ToArray()); key.SetValue("SymbolPaths", SymbolPaths.ToArray()); } }