public void StopAll() { Parallel.ForEach(Config.Servers, async server => { await server.Stop(); }); Parallel.ForEach(ServerThreads, thread => { thread.Value.Abort(); ServerThreads.Remove(thread.Key); }); }
public async Task <Server> DeleteServer(string name) { ServerManager server = (from s in Config.Servers where s.Name == name select s).First(); await server.Stop(); Config.Servers.Remove(server); ServerThreads[server.Name].Abort(); ServerThreads.Remove(server.Name); return(server); }