private void OnRequestCurrentSettingsHandler(ref List <AppSettingsProperty> settingsArg) { settingsArg = new List <AppSettingsProperty>(); foreach (SettingsPropertyValue item in Properties.Settings.Default.PropertyValues) { if (item.Name != "IsUpgraded") { var listItem = new AppSettingsProperty(item.Name, item.PropertyValue.ToString(), item.Property.PropertyType.FullName); settingsArg.Add(listItem); } } }
private void OnSettingReceive(AppSettingsProperty setting) { try { this.GetType().GetProperty(setting.name).SetValue(this, Convert.ChangeType(setting.value, Type.GetType(setting.type))); } // Properties.Settings.Default[setting.name] = Convert.ChangeType(setting.value, Type.GetType(setting.type)); catch { Trace.TraceError("{0} = {1} [{2}]", setting.name, setting.value, setting.type); } }
static Settings() { logAttributeDefaultTarget = new AppSettingsProperty<string>("LogAttributeDefaultTarget", LogAttributeDefaultTargetDefault); logAttributeDefaultLevel = new AppSettingsProperty<LogLevel>("LogAttributeDefaultLevel", LogAttributeDefaultLevelDefault); }
public void Run() { try { // AppSettingsProperty hui = new AppSettingsProperty("Threshold", "", typeof(float).); Console.WriteLine("Searching for service..."); DiscoveryClient discoveryClient = new DiscoveryClient(new UdpDiscoveryEndpoint()); Collection <EndpointDiscoveryMetadata> helloWorldServices = discoveryClient.Find(new FindCriteria(typeof(IControllerService))).Endpoints; discoveryClient.Close(); if (helloWorldServices.Count == 0) { Console.WriteLine("No services. Try again? (y/n)"); var input = Console.ReadKey().KeyChar.ToString(); if (YES_VARIANTS.Any(x => x == input)) { new Program().Run(); } } else { Console.WriteLine("Something finded, connecting..."); EndpointAddress serviceAddress = helloWorldServices[0].Address; IControllerServiceCallback evnt = new ControllerCallback(); InstanceContext evntCntx = new InstanceContext(evnt); NetTcpBinding binding = new NetTcpBinding(SecurityMode.None); binding.ReliableSession.Enabled = true; binding.ReliableSession.Ordered = false; proxy = new EventServiceController(evntCntx, binding, serviceAddress); proxy.Connect(); AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit); // Console.WriteLine(output); string tmp = ""; Console.Write(Environment.NewLine + "Enter Alarm Threshold: "); AppSettingsProperty setting = new AppSettingsProperty("Threshold", "", typeof(float).FullName); while (tmp.ToLower() != "exit") { tmp = Console.ReadLine(); setting.value = tmp; proxy.SendSettings(setting); } Console.WriteLine(proxy.DisconnectPrepare()); //try //{ // if (proxy.State != System.ServiceModel.CommunicationState.Faulted) // { // proxy.Close(); // } //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message); // proxy.Abort(); //} } } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } }