Compartir a través de


Dns.GetHostEntryAsync Método

Definición

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

Sobrecargas

GetHostEntryAsync(IPAddress)

Resuelve una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

GetHostEntryAsync(String)

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

GetHostEntryAsync(String, CancellationToken)

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

GetHostEntryAsync(IPAddress)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

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)

Parámetros

address
IPAddress

Dirección IP.

Devoluciones

Objeto de tarea que representa la operación asincrónica. La propiedad Result en el objeto de tarea devuelve una instancia IPHostEntry que contiene información de dirección sobre el host especificado en address.

Excepciones

address es null.

Se detectó un error al resolver address.

address no es una dirección IP válida.

Comentarios

Esta operación no se bloqueará. El objeto devuelto Task<TResult> se completará una vez resuelto.address

Este método consulta un servidor DNS para las direcciones IP y los alias asociados a una dirección IP.

Las direcciones IPv6 se filtran de los resultados de este método si el equipo local no tiene IPv6 instalado. Como resultado, es posible recuperar una instancia vacía IPHostEntry si solo los resultados de IPv6 están disponibles para el address parámetro.

Este Aliases método no rellena la propiedad de la IPHostEntry instancia devuelta y siempre estará vacía.

Nota

Este miembro emite información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por GetHostEntry(IPAddress).

Se aplica a

GetHostEntryAsync(String)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

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)

Parámetros

hostNameOrAddress
String

Nombre de host o dirección IP que se va a resolver.

Devoluciones

Objeto de tarea que representa la operación asincrónica. La propiedad Result en el objeto de tarea devuelve una instancia IPHostEntry que contiene información de dirección sobre el host especificado en hostNameOrAddress.

Excepciones

El parámetro hostNameOrAddress es null.

La longitud del parámetro hostNameOrAddress es mayor que 255 caracteres.

Se produjo un error al resolver el parámetro hostNameOrAddress.

El parámetro hostNameOrAddress no tiene una dirección IP válida.

Comentarios

Esta operación no se bloqueará. El objeto devuelto Task<TResult> se completará una vez resuelto.hostNameOrAddress

Este método consulta un servidor DNS para la dirección IP asociada a un nombre de host o una dirección IP.

Si se pasa una cadena vacía como hostNameOrAddress argumento, este método devuelve las direcciones IPv4 e IPv6 del host local.

Si no se encuentra el nombre de host, la SocketException excepción se devuelve con un valor de 11001 (error de Windows Sockets WSAHOST_NOT_FOUND). Esta excepción se puede devolver si el servidor DNS no responde. Esta excepción también se puede devolver si el nombre no es un nombre de host o alias oficial, o no se encuentra en las bases de datos que se consultan.

La ArgumentException excepción también se devuelve si el hostNameOrAddress parámetro contiene Any o IPv6Any.

Este método supone que si se pasa una cadena literal IP en el hostNameOrAddress parámetro que la aplicación quiere que se devuelva una IPHostEntry instancia con todas las propiedades establecidas. Estas propiedades incluyen AddressList, Aliasesy HostName. Como resultado, la implementación de este método muestra el siguiente comportamiento cuando se pasa un literal de cadena IP:

  1. El método intenta analizar la dirección. Si el hostNameOrAddress parámetro contiene un literal de cadena IP legal, la primera fase se realiza correctamente.

  2. Se intenta obtener el nombre de host una búsqueda inversa mediante la dirección IP del literal de cadena IP. Este resultado se establece como la HostName propiedad .

  3. El nombre de host de esta búsqueda inversa se usa de nuevo para obtener todas las direcciones IP posibles asociadas al nombre y establecer como la AddressList propiedad .

Para un literal de cadena IPv4, los tres pasos anteriores pueden realizarse correctamente. Pero es posible que se devuelva un registro DNS obsoleto para una dirección IPv4 que pertenece realmente a un host diferente. Esto puede provocar un error en el paso 3 y producir una excepción (hay un registro PTR de DNS para la dirección IPv4, pero no hay ningún registro A de DNS para la dirección IPv4).

En el caso de IPv6, es posible que se produzca un error en el paso 2 anterior, ya que la mayoría de las implementaciones IPv6 no registran el registro inverso (PTR) para una dirección IPv6. Por lo tanto, este método puede devolver el literal IPv6 de cadena como el nombre de host de dominio completo (FQDN) en la HostName propiedad .

El GetHostAddresses método tiene un comportamiento diferente con respecto a los literales ip. Si el paso 1 anterior se realiza correctamente (analiza correctamente como una dirección IP), esa dirección se devuelve inmediatamente como resultado. No hay ningún intento de búsqueda inversa.

Las direcciones IPv6 se filtran de los resultados de este método si el equipo local no tiene IPv6 instalado. Como resultado, es posible recuperar una instancia vacía IPHostEntry si solo los resultados de IPv6 están disponibles para el hostNameOrAddressparámetro .

Este Aliases método no rellena la propiedad de la IPHostEntry instancia devuelta y siempre estará vacía.

Este método se implementa mediante las API de resolución de nombres del sistema operativo subyacente (como getaddrinfo de la API win32 en Windows y las API equivalentes en otras plataformas). Si se describe un host en el hosts archivo, se devolverá la dirección IP o las direcciones sin consultar el servidor DNS.

Nota

Este miembro emite información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por GetHostEntry(String).

Se aplica a

GetHostEntryAsync(String, CancellationToken)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

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)

Parámetros

hostNameOrAddress
String

Nombre de host o dirección IP que se va a resolver.

cancellationToken
CancellationToken

Token de cancelación que se puede usar para señalar que la operación asincrónica se debe cancelar.

Devoluciones

Objeto de tarea que representa la operación asincrónica. La Result propiedad del objeto de tarea devuelve una IPHostEntry instancia que contiene la información de dirección sobre el host especificado en hostNameOrAddress.

Excepciones

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por GetHostEntry(String).

Se aplica a

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Source:
Dns.cs
Source:
Dns.cs
Source:
Dns.cs

Resuelve un nombre de host o una dirección IP en una instancia de IPHostEntry como una operación asincrónica.

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)

Parámetros

hostNameOrAddress
String

Nombre de host o dirección IP que se va a resolver.

family
AddressFamily

Familia de direcciones para la que se deben recuperar las direcciones IP. Si Unspecifiedes , recupere todas las direcciones IP independientemente de la familia de direcciones.

cancellationToken
CancellationToken

Token de cancelación que se puede usar para señalar que la operación asincrónica se debe cancelar.

Devoluciones

Objeto de tarea que representa la operación asincrónica. La Result propiedad del objeto de tarea devuelve una IPHostEntry instancia que contiene la información de dirección sobre el host especificado en hostNameOrAddress.

Excepciones

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por GetHostEntry(String, AddressFamily).

Se aplica a