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
- Исходный код:
- 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 экземпляр, если только результаты IPv6, доступные для address параметра.
Свойство Aliases возвращаемого IPHostEntry экземпляра не заполняется этим методом и всегда будет пустым.
Замечание
Этот член выдает сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.
Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых GetHostEntry(IPAddress).
Применяется к
GetHostEntryAsync(String)
- Исходный код:
- Dns.cs
- Исходный код:
- Dns.cs
- Исходный код:
- 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 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-адреса существует запись DNS PTR, но запись DNS A для IPv4-адреса отсутствует).
Для IPv6 шаг 2 выше может завершиться ошибкой, так как большинство развертываний IPv6 не регистрируют обратную запись (PTR) для IPv6-адреса. Поэтому этот метод может возвращать строковый литерал IPv6 в качестве полного имени узла домена (FQDN) в свойстве HostName .
Метод GetHostAddresses имеет другое поведение в отношении IP-литерала. Если шаг 1 выше успешно выполнен (он успешно анализируется как IP-адрес), этот адрес немедленно возвращается в качестве результата. Попытка обратного поиска отсутствует.
Адреса IPv6 фильтруются из результатов этого метода, если локальный компьютер не установлен IPv6. В результате можно вернуть пустой IPHostEntry экземпляр, если только результаты IPv6, доступные для hostNameOrAddressпараметра ..
Свойство 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
- Исходный код:
- 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
- Исходный код:
- 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).