public void Refresh() { Task refreshTask = new Task(() => { DiscoveryServerDescriptor[] servers = null; using (DiscoveryClient client = new DiscoveryClient()) { servers = client.Discover(TimeSpan.Zero); } this.Dispatcher.InvokeAction(() => { int threads = servers.Select(s => s.ThreadCount).Sum(); this.textStatus.Text = servers.Length + " servers, " + threads + "+" + this.SettingsManager.Settings.ActualLocalConcurrencyLevel + " threads"; List<string> strings = new List<string>(); foreach (var server in servers) { strings.Add(server.Address + " (" + server.ThreadCount + " threads)"); } strings.Sort(); this.listViewServers.Items.Clear(); foreach (var server in strings) { this.listViewServers.Items.Add(server); } }); }); refreshTask.Start(); }
private DiscoveryServerDescriptor[] GetServerList() { using (DiscoveryClient client = new DiscoveryClient()) { return servers = client.Discover(TimeSpan.Zero); } }