Sdílet prostřednictvím


Dns.GetHostEntryAsync Metoda

Definice

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

Přetížení

GetHostEntryAsync(IPAddress)

Přeloží IP adresu na IPHostEntry instanci jako asynchronní operaci.

GetHostEntryAsync(String)

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

GetHostEntryAsync(String, CancellationToken)

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

GetHostEntryAsync(IPAddress)

Zdroj:
Dns.cs
Zdroj:
Dns.cs
Zdroj:
Dns.cs

Přeloží IP adresu na IPHostEntry instanci jako asynchronní operaci.

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)

Parametry

address
IPAddress

IP adresa.

Návraty

Objekt úlohy představující asynchronní operaci. Vlastnost Result objektu úkolu vrátí IPHostEntry instanci, která obsahuje informace o adrese hostitele zadaného v nástroji address.

Výjimky

address je null.

Při řešení chyby dojde k addresschybě .

address je neplatná IP adresa.

Poznámky

Tato operace nebude blokována. Vrácený Task<TResult> objekt se dokončí po vyřešení objektu address .

Tato metoda se dotazuje serveru DNS na IP adresy a aliasy přidružené k IP adrese.

Adresy IPv6 jsou filtrovány z výsledků této metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné získat zpět prázdnou IPHostEntry instanci, pokud jsou pro address parametr k dispozici pouze výsledky protokolu IPv6.

Vlastnost AliasesIPHostEntry vrácené instance není vyplněna touto metodou a bude vždy prázdná.

Poznámka

Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem GetHostEntry(IPAddress).

Platí pro

GetHostEntryAsync(String)

Zdroj:
Dns.cs
Zdroj:
Dns.cs
Zdroj:
Dns.cs

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

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)

Parametry

hostNameOrAddress
String

Název hostitele nebo IP adresa, které se mají přeložit.

Návraty

Objekt úlohy představující asynchronní operaci. Vlastnost Result objektu úkolu vrátí IPHostEntry instanci, která obsahuje informace o adrese hostitele zadaného v nástroji hostNameOrAddress.

Výjimky

Parametr hostNameOrAddress je null.

Délka parametru hostNameOrAddress je větší než 255 znaků.

Při řešení parametru došlo k hostNameOrAddress chybě.

Parametr hostNameOrAddress je neplatná IP adresa.

Poznámky

Tato operace nebude blokována. Vrácený Task<TResult> objekt se dokončí po vyřešení objektu hostNameOrAddress .

Tato metoda se dotazuje serveru DNS na IP adresu přidruženou k názvu hostitele nebo IP adrese.

Pokud se jako hostNameOrAddress argument předá prázdný řetězec, vrátí tato metoda adresy IPv4 a IPv6 místního hostitele.

Pokud se název hostitele nepodařilo najít, SocketException vrátí se výjimka s hodnotou 11001 (chyba Windows Sockets WSAHOST_NOT_FOUND). Tuto výjimku je možné vrátit, pokud server DNS neodpoví. Tuto výjimku lze také vrátit, pokud název není oficiální název hostitele nebo alias nebo ho nelze najít v dotazovaných databázích.

Výjimka ArgumentException se vrátí také v případě, že hostNameOrAddress parametr obsahuje Any nebo IPv6Any.

Tato metoda předpokládá, že pokud je v parametru hostNameOrAddress předán řetězec literálu IP, aplikace chce IPHostEntry vrátit instanci se všemi nastavenými vlastnostmi. Mezi tyto vlastnosti patří AddressList, Aliasesa HostName. V důsledku toho implementace této metody vykazuje následující chování při předání literálu řetězce PROTOKOLU IP:

  1. Metoda se pokusí analyzovat adresu. hostNameOrAddress Pokud parametr obsahuje literál právního řetězce IP, první fáze bude úspěšná.

  2. Zpětné vyhledávání s použitím IP adresy řetězcového literálu IP se pokusí získat název hostitele. Tento výsledek je nastaven jako HostName vlastnost.

  3. Název hostitele z tohoto zpětného vyhledávání se znovu použije k získání všech možných IP adres přidružených k názvu a nastaví se jako AddressList vlastnost.

U řetězcového literálu IPv4 můžou být všechny tři výše uvedené kroky úspěšné. Je ale možné vrátit zastaralý záznam DNS pro adresu IPv4, která ve skutečnosti patří jinému hostiteli. To může způsobit selhání kroku č. 3 a vyvolá výjimku (pro adresu IPv4 existuje záznam PTR DNS, ale žádný záznam DNS A pro adresu IPv4).

U protokolu IPv6 může krok č. 2 výše selhat, protože většina nasazení IPv6 neregistruje reverzní záznam (PTR) pro adresu IPv6. Tato metoda tedy může vrátit řetězcový literál IPv6 jako plně kvalifikovaný název hostitele domény (FQDN) ve HostName vlastnosti.

Metoda GetHostAddresses se s ohledem na literály PROTOKOLU IP chová jinak. Pokud výše uvedený krok č. 1 proběhne úspěšně (úspěšně se parsuje jako IP adresa), vrátí se tato adresa okamžitě jako výsledek. Neexistuje žádný pokus o zpětné vyhledávání.

Adresy IPv6 jsou filtrovány z výsledků této metody, pokud místní počítač nemá nainstalovaný protokol IPv6. V důsledku toho je možné získat zpět prázdnou IPHostEntry instanci, pokud jsou pro hostNameOrAddressparametr k dispozici pouze výsledky protokolu IPv6.

Vlastnost AliasesIPHostEntry vrácené instance není vyplněna touto metodou a bude vždy prázdná.

Tato metoda se implementuje pomocí rozhraní API pro překlad ip adres příslušného operačního systému (například rozhraní API win32 getaddrinfo ve Windows a ekvivalentních rozhraní API na jiných platformách). Pokud je v hosts souboru popsaný hostitel, ip adresa nebo adresy tam budou vráceny bez dotazování serveru DNS.

Poznámka

Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem GetHostEntry(String).

Platí pro

GetHostEntryAsync(String, CancellationToken)

Zdroj:
Dns.cs
Zdroj:
Dns.cs
Zdroj:
Dns.cs

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

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)

Parametry

hostNameOrAddress
String

Název hostitele nebo IP adresa, které se mají přeložit.

cancellationToken
CancellationToken

Token zrušení, který lze použít k signalizaci asynchronní operace, by se měl zrušit.

Návraty

Objekt úlohy představující asynchronní operaci. Vlastnost Result objektu úkolu vrátí IPHostEntry instanci, která obsahuje informace o adrese hostitele zadané v hostNameOrAddressnástroji .

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena ve vrácené úloze.

Poznámky

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem GetHostEntry(String).

Platí pro

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Zdroj:
Dns.cs
Zdroj:
Dns.cs
Zdroj:
Dns.cs

Přeloží název hostitele nebo IP adresu na IPHostEntry instanci jako asynchronní operaci.

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)

Parametry

hostNameOrAddress
String

Název hostitele nebo IP adresa, které se mají přeložit.

family
AddressFamily

Rodina adres, pro kterou se mají načíst IP adresy. Pokud Unspecified, načtěte všechny IP adresy bez ohledu na rodinu adres.

cancellationToken
CancellationToken

Token zrušení, který lze použít k signalizaci asynchronní operace, by se měl zrušit.

Návraty

Objekt úlohy představující asynchronní operaci. Vlastnost Result objektu úkolu vrátí IPHostEntry instanci, která obsahuje informace o adrese hostitele zadaného v hostNameOrAddress.

Výjimky

Token zrušení byl zrušen. Tato výjimka je uložena ve vrácené úloze.

Poznámky

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem GetHostEntry(String, AddressFamily).

Platí pro