Dns.GetHostEntryAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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:
Metoden försöker parsa adressen. Om parametern
hostNameOrAddressinnehåller en juridisk IP-strängliteral lyckas den första fasen.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 .
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).