Dns.GetHostEntryAsync Metod

Definition

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans som en asynkron åtgärd.

Överlagringar

Name Description
GetHostEntryAsync(IPAddress)

Löser en IP-adress till en IPHostEntry instans som en asynkron åtgärd.

GetHostEntryAsync(String)

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans som en asynkron åtgärd.

GetHostEntryAsync(IPAddress)

Löser en IP-adress till en IPHostEntry instans som en asynkron åtgärd.

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)

Parametrar

address
IPAddress

En IP-adress.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden. Egenskapen Result för aktivitetsobjektet returnerar en IPHostEntry instans som innehåller adressinformation om värden som anges i address.

Undantag

address är null.

Ett fel påträffas när du löser address.

address är en ogiltig IP-adress.

Kommentarer

Den här åtgärden kommer inte att blockeras. Det returnerade Task<TResult> objektet slutförs när det address har lösts.

Den här metoden frågar en DNS-server efter IP-adresser och alias som är associerade med en IP-adress.

IPv6-adresser filtreras från resultatet av den här metoden om den lokala datorn inte har IPv6 installerat. Därför är det möjligt att få tillbaka en tom IPHostEntry instans om endast IPv6-resultat är tillgängliga för parametern address .

Egenskapen Aliases för den returnerade instansen IPHostEntry fylls inte i med den här metoden och kommer alltid att vara tom.

Note

Den här medlemmen genererar spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av GetHostEntry(IPAddress).

Gäller för

GetHostEntryAsync(String)

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans som en asynkron åtgärd.

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)

Parametrar

hostNameOrAddress
String

Värdnamnet eller IP-adressen som ska matchas.

Returer

Aktivitetsobjektet som representerar den asynkrona åtgärden. Egenskapen Result för aktivitetsobjektet returnerar en IPHostEntry instans som innehåller adressinformation om värden som anges i hostNameOrAddress.

Undantag

Parametern hostNameOrAddress är null.

Parameterns hostNameOrAddress längd är större än 255 tecken.

Ett fel uppstod när parametern skulle matchas hostNameOrAddress .

Parametern hostNameOrAddress är en ogiltig IP-adress.

Kommentarer

Den här åtgärden kommer inte att blockeras. Det returnerade Task<TResult> objektet slutförs när det hostNameOrAddress har lösts.

Den här metoden frågar en DNS-server efter DEN IP-adress som är associerad med ett värdnamn eller en IP-adress.

Om en tom sträng skickas som hostNameOrAddress argument returnerar den här metoden IPv4- och IPv6-adresserna för den lokala värden.

Om värdnamnet inte kunde hittas returneras undantaget SocketException med värdet 11001 (Windows Sockets-fel WSAHOST_NOT_FOUND). Det här undantaget kan returneras om DNS-servern inte svarar. Det här undantaget kan också returneras om namnet inte är ett officiellt värdnamn eller alias, eller om det inte går att hitta det i de databaser som efterfrågas.

Undantaget ArgumentException returneras också om parametern hostNameOrAddress innehåller Any eller IPv6Any.

Den här metoden förutsätter att om en IP-literalsträng skickas i parametern hostNameOrAddress som programmet vill att en IPHostEntry instans ska returneras med alla egenskaper som angetts. Dessa egenskaper inkluderar AddressList, Aliasesoch HostName. Därför uppvisar implementeringen av den här metoden följande beteende när en IP-strängliteral skickas:

  1. Metoden försöker parsa adressen. Om parametern hostNameOrAddress innehåller en juridisk IP-strängliteral lyckas den första fasen.

  2. En omvänd sökning med IP-adressen för IP-strängliteralen försöker hämta värdnamnet. Det här resultatet anges som HostName egenskapen .

  3. Värdnamnet från den här omvända sökningen AddressList används igen för att hämta alla möjliga IP-adresser som är associerade med namnet och anges som egenskap.

För en IPv4-strängliteral kan alla tre stegen ovan lyckas. Men det är möjligt att en inaktuell DNS-post för en IPv4-adress som faktiskt tillhör en annan värd returneras. Detta kan leda till att steg 3 misslyckas och utlöser ett undantag (det finns en DNS PTR-post för IPv4-adressen, men ingen DNS A-post för IPv4-adressen).

För IPv6 kan steg 2 ovan misslyckas, eftersom de flesta IPv6-distributioner inte registrerar den omvända posten (PTR) för en IPv6-adress. Den här metoden kan därför returnera strängen IPv6-literal som det fullständiga domännamnet (FQDN) i HostName egenskapen.

Metoden GetHostAddresses har olika beteende när det gäller IP-literaler. Om steg 1 ovan lyckas (det parsas som en IP-adress) returneras den adressen omedelbart som resultat. Det finns inget försök till omvänd sökning.

IPv6-adresser filtreras från resultatet av den här metoden om den lokala datorn inte har IPv6 installerat. Därför är det möjligt att få tillbaka en tom IPHostEntry instans om endast IPv6-resultat är tillgängliga för parametern hostNameOrAddress..

Egenskapen Aliases för den returnerade instansen IPHostEntry fylls inte i med den här metoden och kommer alltid att vara tom.

Den här metoden implementeras med hjälp av det underliggande operativsystemets namnmatchnings-API:er (till exempel Win32 API getaddrinfo på Windows och motsvarande API:er på andra plattformar). Om en värd beskrivs i hosts filen returneras IP-adressen eller adresserna där utan att fråga DNS-servern.

Note

Den här medlemmen genererar spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av GetHostEntry(String).

Gäller för