Condividi tramite


Dns.GetHostEntryAsync Metodo

Definizione

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

Overload

Nome Descrizione
GetHostEntryAsync(IPAddress)

Risolve un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

GetHostEntryAsync(String)

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

GetHostEntryAsync(String, CancellationToken)

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

GetHostEntryAsync(IPAddress)

Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs

Risolve un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

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)

Parametri

address
IPAddress

Indirizzo IP.

Restituisce

Oggetto attività che rappresenta l'operazione asincrona. La Result proprietà nell'oggetto attività restituisce un'istanza IPHostEntry che contiene informazioni sull'indirizzo sull'host specificato in address.

Eccezioni

address è null.

Si verifica un errore durante la risoluzione di address.

address è un indirizzo IP non valido.

Commenti

Questa operazione non verrà bloccata. L'oggetto restituito Task<TResult> verrà completato dopo la risoluzione di address .

Questo metodo esegue una query su un server DNS per gli indirizzi IP e gli alias associati a un indirizzo IP.

Gli indirizzi IPv6 vengono filtrati in base ai risultati di questo metodo se nel computer locale non è installato IPv6. Di conseguenza, è possibile tornare a un'istanza vuota IPHostEntry se solo i risultati IPv6 sono disponibili per il address parametro.

La Aliases proprietà dell'istanza IPHostEntry restituita non viene popolata da questo metodo e sarà sempre vuota.

Annotazioni

Questo membro genera informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da GetHostEntry(IPAddress).

Si applica a

GetHostEntryAsync(String)

Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

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)

Parametri

hostNameOrAddress
String

Nome host o indirizzo IP da risolvere.

Restituisce

Oggetto attività che rappresenta l'operazione asincrona. La Result proprietà nell'oggetto attività restituisce un'istanza IPHostEntry che contiene informazioni sull'indirizzo sull'host specificato in hostNameOrAddress.

Eccezioni

Il hostNameOrAddress parametro è null.

La lunghezza del hostNameOrAddress parametro è maggiore di 255 caratteri.

Errore durante la risoluzione del hostNameOrAddress parametro.

Il hostNameOrAddress parametro è un indirizzo IP non valido.

Commenti

Questa operazione non verrà bloccata. L'oggetto restituito Task<TResult> verrà completato dopo la risoluzione di hostNameOrAddress .

Questo metodo esegue una query su un server DNS per l'indirizzo IP associato a un nome host o a un indirizzo IP.

Se come argomento viene passata hostNameOrAddress una stringa vuota, questo metodo restituisce gli indirizzi IPv4 e IPv6 dell'host locale.

Se non è stato possibile trovare il nome host, l'eccezione SocketException viene restituita con un valore 11001 (errore Windows Sockets WSAHOST_NOT_FOUND). Questa eccezione può essere restituita se il server DNS non risponde. Questa eccezione può essere restituita anche se il nome non è un nome host o un alias ufficiale oppure non è possibile trovarlo nei database su cui viene eseguita una query.

L'eccezione ArgumentException viene restituita anche se il hostNameOrAddress parametro contiene Any o IPv6Any.

Questo metodo presuppone che se viene passata una stringa letterale IP nel hostNameOrAddress parametro che l'applicazione desidera IPHostEntry restituire un'istanza con tutte le proprietà impostate. Queste proprietà includono AddressList, Aliasese HostName. Di conseguenza, l'implementazione di questo metodo presenta il comportamento seguente quando viene passato un valore letterale stringa IP:

  1. Il metodo tenta di analizzare l'indirizzo. Se il hostNameOrAddress parametro contiene un valore letterale stringa IP legale, la prima fase ha esito positivo.

  2. Viene tentata una ricerca inversa usando l'indirizzo IP del valore letterale stringa IP per ottenere il nome host. Questo risultato viene impostato come HostName proprietà .

  3. Il nome host di questa ricerca inversa viene usato di nuovo per ottenere tutti gli indirizzi IP possibili associati al nome e impostare come AddressList proprietà.

Per un valore letterale stringa IPv4, è possibile che tutti e tre i passaggi precedenti abbiano esito positivo. Tuttavia, è possibile che venga restituito un record DNS non aggiornato per un indirizzo IPv4 che appartiene effettivamente a un host diverso. Questo può causare l'esito negativo del passaggio 3 e generare un'eccezione (esiste un record PTR DNS per l'indirizzo IPv4, ma nessun record DNS A per l'indirizzo IPv4).

Per IPv6, il passaggio 2 precedente potrebbe non riuscire, poiché la maggior parte delle distribuzioni IPv6 non registra il record inverso (PTR) per un indirizzo IPv6. Questo metodo può quindi restituire il valore letterale IPv6 stringa come nome host di dominio completo (FQDN) nella HostName proprietà .

Il GetHostAddresses metodo ha un comportamento diverso rispetto ai valori letterali IP. Se il passaggio 1 precedente ha esito positivo (analizza correttamente come indirizzo IP), tale indirizzo viene restituito immediatamente come risultato. Non è previsto alcun tentativo di ricerca inversa.

Gli indirizzi IPv6 vengono filtrati in base ai risultati di questo metodo se nel computer locale non è installato IPv6. Di conseguenza, è possibile recuperare un'istanza vuota IPHostEntry se solo i risultati IPv6 sono disponibili per il hostNameOrAddressparametro .

La Aliases proprietà dell'istanza IPHostEntry restituita non viene popolata da questo metodo e sarà sempre vuota.

Questo metodo viene implementato usando le API di risoluzione dei nomi del sistema operativo sottostante , ad esempio getaddrinfo dell'API Win32 in Windows e API equivalenti in altre piattaforme. Se un host è descritto nel hosts file, gli indirizzi IP o gli indirizzi verranno restituiti senza eseguire query sul server DNS.

Annotazioni

Questo membro genera informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da GetHostEntry(String).

Si applica a

GetHostEntryAsync(String, CancellationToken)

Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

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)

Parametri

hostNameOrAddress
String

Nome host o indirizzo IP da risolvere.

cancellationToken
CancellationToken

Token di annullamento che può essere usato per segnalare che l'operazione asincrona deve essere annullata.

Restituisce

Oggetto attività che rappresenta l'operazione asincrona. La Result proprietà sull'oggetto attività restituisce un'istanza IPHostEntry che contiene le informazioni sull'indirizzo sull'host specificato in hostNameOrAddress.

Eccezioni

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da GetHostEntry(String).

Si applica a

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs
Origine:
Dns.cs

Risolve un nome host o un indirizzo IP in un'istanza IPHostEntry come operazione asincrona.

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)

Parametri

hostNameOrAddress
String

Nome host o indirizzo IP da risolvere.

family
AddressFamily

Famiglia di indirizzi per cui recuperare gli indirizzi IP. Se Unspecified, recuperare tutti gli indirizzi IP indipendentemente dalla famiglia di indirizzi.

cancellationToken
CancellationToken

Token di annullamento che può essere usato per segnalare che l'operazione asincrona deve essere annullata.

Restituisce

Oggetto attività che rappresenta l'operazione asincrona. La Result proprietà sull'oggetto attività restituisce un'istanza IPHostEntry che contiene le informazioni sull'indirizzo sull'host specificato in hostNameOrAddress.

Eccezioni

Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.

Commenti

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da GetHostEntry(String, AddressFamily).

Si applica a