/// <summary> /// Поиск свободных имен. /// </summary> public void SearchFreeNames(SearchFreeNamesParams searchParams) { for (var i = searchParams.CounterFrom; i <= searchParams.CounterTo; i++) { var name = searchParams.NameTemplate.Replace("[C]", i.ToString().PadLeft((int)searchParams.CounterLength, '0')); if (ExistsInDNS(name + "." + searchParams.Domain)) { continue; } if (ExistsInAD(name, searchParams.Domain)) { continue; } searchParams.Dispatcher.BeginInvoke(searchParams.Callback, name); } }
/// <summary> /// Асинхронный поиск свободных имен. /// </summary> public Task SearchFreeNamesAsync(SearchFreeNamesParams searchParams) { return(Task.Factory.StartNew(() => SearchFreeNames(searchParams))); }