Быстрая одновременная проверка DNS-записей SOA для доменов .co.za

Я хочу реализоватьпроверка массовой доступности из.co.za доменные имена как можно точнее, проверив наличиеSOA или жеMX записи используя C # ASP.NET.

Я ищу решение, которое может проверять соответствующие записи DNS таким образом, чтобы правильно использовать потоки для проверки как минимум 10 доменов одновременно.

"Почему бы вам просто не использовать API?"

Единственный действительно точный способ проверить доступность домена .co.za - это использоватьhttp://co.za/whois.shtml, но архаичная служба WHOIS не разрешает массовую проверку и ограничивает последовательные проверки для данного IP.

Предыдущая работа

На сегодняшний день я получилдовольно точные результаты, используя мой древний классический сценарий ASP, используя старую библиотеку DNS под названием "Simple DNS Resolver" Эммануила Картманна. Однако такой подходплохо масштабируется и мне нужно иметь возможность обрабатывать больше пользователей с правильно реализованной реализацией ASP.NET.

Непослушный код, который я сейчас использую, выглядит примерно так:

Dim oDNS, pDomain, found_names

Set oDNS = CreateObject("Emmanuel.SimpleDNSClient.1")

oDNS.ServerAddresses = "127.0.0.1" // Set DNS server to use
oDNS.Separator = "," // Set separator for found_names multiple outputs

Выполните следующее для каждого домена:

Err.Clear // Reset error flag. I know, I hate it too.

oDNS.Resolve pDomain, found_names, "C_IN", "T_SOA" // Look for SOA records for domain

If Err <> 0 Then // No SOA records could be found.
    Err.Clear // Reset error flag
    oDNS.GetEmailServers pDomain, found_names // Look for MX records
    If Err <> 0 Then // No MX records found either
        AssumeDomainIsAvailable(pDomain);
    Else // Found some MX records
        DomainUnavailable(pDomain);
    End If

Else // Found some SOA records
    DomainUnavailable(pDomain);
End If

Любая рекомендация по улучшению обнаружения приветствуется. Это мой первый вопрос о SO, так что простите за многословие и спасибо за ваше драгоценное время.