Dns.GetHostEntryAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция.
Перегрузки
GetHostEntryAsync(IPAddress) |
Разрешает IP-адрес экземпляра IPHostEntry как асинхронная операция. |
GetHostEntryAsync(String) |
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция. |
GetHostEntryAsync(String, CancellationToken) |
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция. |
GetHostEntryAsync(String, AddressFamily, CancellationToken) |
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция. |
GetHostEntryAsync(IPAddress)
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
Разрешает IP-адрес экземпляра IPHostEntry как асинхронная операция.
public:
static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::Net::IPAddress ^ address);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (System.Net.IPAddress address);
static member GetHostEntryAsync : System.Net.IPAddress -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (address As IPAddress) As Task(Of IPHostEntry)
Параметры
- address
- IPAddress
IP-адреса.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию. Свойство Result в объекте задачи возвращает экземпляр IPHostEntry, содержащий информацию адреса об узле, указанного в address
.
Исключения
address
имеет значение null
.
При разрешении address
возникает ошибка.
address
является недопустимым IP-адресом.
Комментарии
Эта операция не блокируется. Возвращенный Task<TResult> объект завершится после address
разрешения .
Этот метод запрашивает у DNS-сервера IP-адреса и псевдонимы, связанные с IP-адресом.
IPv6-адреса фильтруются по результатам этого метода, если на локальном компьютере не установлен протокол IPv6. В результате можно вернуть пустой IPHostEntry экземпляр, если для параметра будут доступны address
только результаты IPv6.
Свойство Aliases возвращаемого экземпляра IPHostEntry не заполняется этим методом и всегда будет пустым.
Примечание
Этот элемент выдает сведения трассировки при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые GetHostEntry(IPAddress).
Применяется к
GetHostEntryAsync(String)
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция.
public:
static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::String ^ hostNameOrAddress);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress);
static member GetHostEntryAsync : string -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String) As Task(Of IPHostEntry)
Параметры
- hostNameOrAddress
- String
Разрешаемое имя узла или IP-адрес.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию. Свойство Result в объекте задачи возвращает экземпляр IPHostEntry, содержащий информацию адреса об узле, указанного в hostNameOrAddress
.
Исключения
Параметр hostNameOrAddress
имеет значение null
.
Длина параметра hostNameOrAddress
превышает 255 символов.
При попытке разрешения параметра hostNameOrAddress
произошла ошибка.
Параметр hostNameOrAddress
является недопустимым IP-адресом.
Комментарии
Эта операция не блокируется. Возвращенный Task<TResult> объект завершится после hostNameOrAddress
разрешения .
Этот метод запрашивает у DNS-сервера IP-адрес, связанный с именем узла или IP-адресом.
Если в качестве аргумента hostNameOrAddress
передается пустая строка, то этот метод возвращает адреса IPv4 и IPv6 локального узла.
Если не удается найти имя узла, SocketException возвращается исключение со значением 11001 (ошибка Windows Sockets WSAHOST_NOT_FOUND). Это исключение может быть возвращено, если DNS-сервер не отвечает. Это исключение также может быть возвращено, если имя не является официальным именем узла или псевдонимом или его не удается найти в запрашиваемых базах данных.
Исключение ArgumentException также возвращается, hostNameOrAddress
если параметр содержит Any или IPv6Any.
Этот метод предполагает, что если строка IP-литерала передается в hostNameOrAddress
параметре, который приложение хочет IPHostEntry вернуть экземпляр со всеми заданными свойствами. К этим свойствам AddressListотносятся , Aliasesи HostName. В результате реализация этого метода демонстрирует следующее поведение при передаче строкового IP-литерала:
Метод пытается проанализировать адрес.
hostNameOrAddress
Если параметр содержит строковый литерал юридического IP-адреса, первый этап завершается успешно.Обратный поиск с использованием IP-адреса строкового литерала IP-адреса пытается получить имя узла. Этот результат задается как HostName свойство .
Имя узла из этого обратного просмотра снова используется для получения всех возможных IP-адресов, связанных с именем, и устанавливается в AddressList качестве свойства .
Для строкового литерала IPv4 все три описанных выше шага могут завершиться успешно. Но можно вернуть устаревшую запись DNS для IPv4-адреса, который фактически принадлежит другому узлу. Это может привести к сбою шага 3 и возникновению исключения (для IPv4-адреса имеется запись PTR DNS, но для IPv4-адреса нет записи DNS A).
Для IPv6 шаг 2 выше может завершиться ошибкой, так как большинство развертываний IPv6 не регистрируют обратную запись (PTR) для IPv6-адреса. Поэтому этот метод может возвращать строковый литерал IPv6 в качестве полного имени узла домена (FQDN) в свойстве HostName .
Метод GetHostAddresses имеет другое поведение по отношению к IP-литералам. Если шаг 1 выше завершается успешно (он успешно анализируется как IP-адрес), этот адрес немедленно возвращается в качестве результата. Обратный просмотр не выполняется.
IPv6-адреса фильтруются по результатам этого метода, если на локальном компьютере не установлен протокол IPv6. В результате можно вернуть пустой IPHostEntry экземпляр, если для параметра можно получить только результаты hostNameOrAddress
IPv6.
Свойство Aliases возвращаемого экземпляра IPHostEntry не заполняется этим методом и всегда будет пустым.
Этот метод реализуется с помощью API разрешения имен базовой операционной системы (например, API Win32 getaddrinfo в Windows и эквивалентных API на других платформах). Если узел описан в hosts
файле, IP-адрес или адреса будут возвращены без запроса к DNS-серверу.
Примечание
Этот элемент выдает сведения трассировки при включении трассировки сети в приложении. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые GetHostEntry(String).
Применяется к
GetHostEntryAsync(String, CancellationToken)
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция.
public:
static System::Threading::Tasks::Task<System::Net::IPHostEntry ^> ^ GetHostEntryAsync(System::String ^ hostNameOrAddress, System::Threading::CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress, System.Threading.CancellationToken cancellationToken);
static member GetHostEntryAsync : string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String, cancellationToken As CancellationToken) As Task(Of IPHostEntry)
Параметры
- hostNameOrAddress
- String
Разрешаемое имя узла или IP-адрес.
- cancellationToken
- CancellationToken
Токен отмены, который может быть использован для указания на отмену асинхронной операции.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию. Свойство Result объекта задачи возвращает IPHostEntry экземпляр , содержащий сведения об адресе узла, указанного в hostNameOrAddress
.
Исключения
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые GetHostEntry(String).
Применяется к
GetHostEntryAsync(String, AddressFamily, CancellationToken)
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
Разрешает имя узла или IP-адрес экземпляра IPHostEntry как асинхронная операция.
public static System.Threading.Tasks.Task<System.Net.IPHostEntry> GetHostEntryAsync (string hostNameOrAddress, System.Net.Sockets.AddressFamily family, System.Threading.CancellationToken cancellationToken = default);
static member GetHostEntryAsync : string * System.Net.Sockets.AddressFamily * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.IPHostEntry>
Public Shared Function GetHostEntryAsync (hostNameOrAddress As String, family As AddressFamily, Optional cancellationToken As CancellationToken = Nothing) As Task(Of IPHostEntry)
Параметры
- hostNameOrAddress
- String
Разрешаемое имя узла или IP-адрес.
- family
- AddressFamily
Семейство адресов, для которого должны быть получены IP-адреса. Если Unspecifiedзадано значение , получите все IP-адреса независимо от семейства адресов.
- cancellationToken
- CancellationToken
Токен отмены, который может быть использован для указания на отмену асинхронной операции.
Возвращаемое значение
Объект задачи, представляющий асинхронную операцию. Свойство Result объекта задачи возвращает IPHostEntry экземпляр , содержащий сведения об адресе узла, указанного в hostNameOrAddress
.
Исключения
Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.
Комментарии
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые GetHostEntry(String, AddressFamily).
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по