private void StartLookup() { DisplayStatusMessage = false; StatusMessage = string.Empty; IsLookupRunning = true; // Measure the time StartTime = DateTime.Now; stopwatch.Start(); dispatcherTimer.Tick += DispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); dispatcherTimer.Start(); EndTime = null; // Reset the latest results LookupResult.Clear(); AddHostToHistory(Host); DNSLookupOptions dnsLookupOptions = new DNSLookupOptions(); if (SettingsManager.Current.DNSLookup_UseCustomDNSServer) { dnsLookupOptions.UseCustomDNSServer = SettingsManager.Current.DNSLookup_UseCustomDNSServer; dnsLookupOptions.CustomDNSServers = SettingsManager.Current.DNSLookup_CustomDNSServer.Select(x => x.Trim()).ToList(); dnsLookupOptions.Port = SettingsManager.Current.DNSLookup_Port; } dnsLookupOptions.AddDNSSuffix = SettingsManager.Current.DNSLookup_AddDNSSuffix; if (SettingsManager.Current.DNSLookup_UseCustomDNSSuffix) { dnsLookupOptions.UseCustomDNSSuffix = true; dnsLookupOptions.CustomDNSSuffix = SettingsManager.Current.DNSLookup_CustomDNSSuffix.TrimStart('.'); } dnsLookupOptions.Class = SettingsManager.Current.DNSLookup_Class; dnsLookupOptions.Type = Type; dnsLookupOptions.Recursion = SettingsManager.Current.DNSLookup_Recursion; dnsLookupOptions.UseResolverCache = SettingsManager.Current.DNSLookup_UseResolverCache; dnsLookupOptions.TransportType = SettingsManager.Current.DNSLookup_TransportType; dnsLookupOptions.Attempts = SettingsManager.Current.DNSLookup_Attempts; dnsLookupOptions.Timeout = SettingsManager.Current.DNSLookup_Timeout; dnsLookupOptions.ResolveCNAME = SettingsManager.Current.DNSLookup_ResolveCNAME; DNSLookup DNSLookup = new DNSLookup(); DNSLookup.RecordReceived += DNSLookup_RecordReceived; DNSLookup.LookupError += DNSLookup_LookupError; DNSLookup.LookupComplete += DNSLookup_LookupComplete;; DNSLookup.LookupAsync(Host.Split(';').Select(x => x.Trim()).ToList(), dnsLookupOptions); }
private void StartLookup() { DisplayStatusMessage = false; StatusMessage = string.Empty; IsLookupRunning = true; // Measure the time StartTime = DateTime.Now; stopwatch.Start(); dispatcherTimer.Tick += DispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); dispatcherTimer.Start(); EndTime = null; // Reset the latest results LookupResult.Clear(); // Change the tab title (not nice, but it works) Window window = Application.Current.Windows.OfType <Window>().FirstOrDefault(x => x.IsActive); if (window != null) { foreach (TabablzControl tabablzControl in VisualTreeHelper.FindVisualChildren <TabablzControl>(window)) { tabablzControl.Items.OfType <DragablzTabItem>().First(x => x.ID == _tabId).Header = Host; } } AddHostToHistory(Host); DNSLookupOptions dnsLookupOptions = new DNSLookupOptions(); if (SettingsManager.Current.DNSLookup_UseCustomDNSServer) { dnsLookupOptions.UseCustomDNSServer = SettingsManager.Current.DNSLookup_UseCustomDNSServer; dnsLookupOptions.CustomDNSServers = SettingsManager.Current.DNSLookup_CustomDNSServer.Select(x => x.Trim()).ToList(); dnsLookupOptions.Port = SettingsManager.Current.DNSLookup_Port; } dnsLookupOptions.AddDNSSuffix = SettingsManager.Current.DNSLookup_AddDNSSuffix; if (SettingsManager.Current.DNSLookup_UseCustomDNSSuffix) { dnsLookupOptions.UseCustomDNSSuffix = true; dnsLookupOptions.CustomDNSSuffix = SettingsManager.Current.DNSLookup_CustomDNSSuffix.TrimStart('.'); } dnsLookupOptions.Class = SettingsManager.Current.DNSLookup_Class; dnsLookupOptions.Type = Type; dnsLookupOptions.Recursion = SettingsManager.Current.DNSLookup_Recursion; dnsLookupOptions.UseResolverCache = SettingsManager.Current.DNSLookup_UseResolverCache; dnsLookupOptions.TransportType = SettingsManager.Current.DNSLookup_TransportType; dnsLookupOptions.Attempts = SettingsManager.Current.DNSLookup_Attempts; dnsLookupOptions.Timeout = SettingsManager.Current.DNSLookup_Timeout; dnsLookupOptions.ResolveCNAME = SettingsManager.Current.DNSLookup_ResolveCNAME; DNSLookup DNSLookup = new DNSLookup(); DNSLookup.RecordReceived += DNSLookup_RecordReceived; DNSLookup.LookupError += DNSLookup_LookupError; DNSLookup.LookupComplete += DNSLookup_LookupComplete;; DNSLookup.LookupAsync(Host.Split(';').Select(x => x.Trim()).ToList(), dnsLookupOptions); }
private void StartLookup() { DisplayStatusMessage = false; IsLookupRunning = true; // Reset statistic DNSServerAndPort = string.Empty; Questions = 0; Answers = 0; Authorities = 0; Additionals = 0; MessageSize = 0; // Measure the time StartTime = DateTime.Now; stopwatch.Start(); dispatcherTimer.Tick += DispatcherTimer_Tick; dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 100); dispatcherTimer.Start(); EndTime = null; // Reset the latest results LookupResult.Clear(); HostHistory = new List <string>(HistoryListHelper.Modify(HostHistory, Host, SettingsManager.Current.Application_HistoryListEntries)); DNSLookupOptions DNSLookupOptions = new DNSLookupOptions(); if (SettingsManager.Current.DNSLookup_UseCustomDNSServer) { if (!string.IsNullOrEmpty(SettingsManager.Current.DNSLookup_CustomDNSServer)) { DNSLookupOptions.UseCustomDNSServer = SettingsManager.Current.DNSLookup_UseCustomDNSServer; DNSLookupOptions.CustomDNSServer = SettingsManager.Current.DNSLookup_CustomDNSServer; } else { StatusMessage = Application.Current.Resources["String_CustomDNSServerIsEmptyCheckYourSettingsUseWindowsOwnDNSServer"] as string; DisplayStatusMessage = true; } } DNSLookupOptions.Class = SettingsManager.Current.DNSLookup_Class; DNSLookupOptions.Type = Type; DNSLookupOptions.Recursion = SettingsManager.Current.DNSLookup_Recursion; DNSLookupOptions.UseResolverCache = SettingsManager.Current.DNSLookup_UseResolverCache; DNSLookupOptions.TransportType = SettingsManager.Current.DNSLookup_TransportType; DNSLookupOptions.Attempts = SettingsManager.Current.DNSLookup_Attempts; DNSLookupOptions.Timeout = SettingsManager.Current.DNSLookup_Timeout; DNSLookupOptions.ResolveCNAME = SettingsManager.Current.DNSLookup_ResolveCNAME; DNSLookup DNSLookup = new DNSLookup(); DNSLookup.RecordReceived += DNSLookup_RecordReceived; DNSLookup.LookupError += DNSLookup_LookupError; DNSLookup.LookupComplete += DNSLookup_LookupComplete; string hostnameOrIPAddress = Host; string dnsSuffix = string.Empty; // Detect hostname (usually they don't contain ".") if (Host.IndexOf(".", StringComparison.OrdinalIgnoreCase) == -1) { if (SettingsManager.Current.DNSLookup_AddDNSSuffix) { if (SettingsManager.Current.DNSLookup_UseCustomDNSSuffix) { dnsSuffix = SettingsManager.Current.DNSLookup_CustomDNSSuffix; } else { dnsSuffix = IPGlobalProperties.GetIPGlobalProperties().DomainName; } } } // Append dns suffix to hostname if (!string.IsNullOrEmpty(dnsSuffix)) { hostnameOrIPAddress += string.Format("{0}{1}", dnsSuffix.StartsWith(".") ? "" : ".", dnsSuffix); } DNSLookup.LookupAsync(hostnameOrIPAddress, DNSLookupOptions); }