private void CheckProxyServers() { try { Loading = true; ProxyServers.Clear(); var testTargetUri = TestTargetUri; if (testTargetUri != null) { var route = ProxyClient.CreateRoute(LocalProxy); foreach (var hostEndPoint in ProxyPageScanner.ScanPage(ProxyPage.PageUri, ProxyPage.ParseAsText, ProxyPage.HostPortEx, route, testTargetUri)) { var ipEndPoint = hostEndPoint.IPEndPoint; if (ipEndPoint == null) { continue; } var location = Geolocation.Locate(ipEndPoint.Address, route); var p = ProxyAnalyzer.MeasurePerformance(route, testTargetUri); if (p == null) { continue; } var proxy = new Proxy(hostEndPoint, location, (int)p.Ping.TotalMilliseconds, (int)(p.DownloadSpeed / 1024)); ProxyServers.Add(proxy); } } } finally { Loading = false; } }
private void Clear_Button_Click(object sender, RoutedEventArgs e) { ProxyServers.Clear(); Proxys_datagrid.ItemsSource = ProxyServers.Servers; }