Freigeben über


Dns.GetHostEntryAsync Methode

Definition

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

Überlädt

Name Beschreibung
GetHostEntryAsync(IPAddress)

Löst eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

GetHostEntryAsync(String)

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

GetHostEntryAsync(String, CancellationToken)

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

GetHostEntryAsync(IPAddress)

Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs

Löst eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

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)

Parameter

address
IPAddress

Eine IP-Adresse.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result Eigenschaft für das Taskobjekt gibt eine IPHostEntry Instanz zurück, die Adressinformationen zum in addressder Datei angegebenen Host enthält.

Ausnahmen

address ist null.

Beim Auflösen addressist ein Fehler aufgetreten.

address ist eine ungültige IP-Adresse.

Hinweise

Dieser Vorgang wird nicht blockiert. Das zurückgegebene Task<TResult> Objekt wird abgeschlossen, nachdem das address Objekt aufgelöst wurde.

Diese Methode fragt einen DNS-Server für die IP-Adressen und Aliase ab, die einer IP-Adresse zugeordnet sind.

IPv6-Adressen werden aus den Ergebnissen dieser Methode gefiltert, wenn der lokale Computer IPv6 nicht installiert hat. Daher ist es möglich, eine leere IPHostEntry Instanz zurückzuholen, wenn nur IPv6-Ergebnisse für den address Parameter verfügbar sind.

Die Aliases Eigenschaft der IPHostEntry zurückgegebenen Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von GetHostEntry(IPAddress).

Gilt für:

GetHostEntryAsync(String)

Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

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)

Parameter

hostNameOrAddress
String

Der Hostname oder die IP-Adresse, die aufgelöst werden soll.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result Eigenschaft für das Taskobjekt gibt eine IPHostEntry Instanz zurück, die Adressinformationen zum in hostNameOrAddressder Datei angegebenen Host enthält.

Ausnahmen

Der hostNameOrAddress Parameter ist null.

Die Länge des hostNameOrAddress Parameters ist größer als 255 Zeichen.

Fehler beim Auflösen des hostNameOrAddress Parameters.

Der hostNameOrAddress Parameter ist eine ungültige IP-Adresse.

Hinweise

Dieser Vorgang wird nicht blockiert. Das zurückgegebene Task<TResult> Objekt wird abgeschlossen, nachdem das hostNameOrAddress Objekt aufgelöst wurde.

Diese Methode fragt einen DNS-Server für die IP-Adresse ab, die einem Hostnamen oder einer IP-Adresse zugeordnet ist.

Wenn eine leere Zeichenfolge als hostNameOrAddress Argument übergeben wird, gibt diese Methode die IPv4- und IPv6-Adressen des lokalen Hosts zurück.

Wenn der Hostname nicht gefunden wurde, wird die SocketException Ausnahme mit dem Wert 11001 zurückgegeben (Windows Sockets-Fehler WSAHOST_NOT_FOUND). Diese Ausnahme kann zurückgegeben werden, wenn der DNS-Server nicht reagiert. Diese Ausnahme kann auch zurückgegeben werden, wenn es sich bei dem Namen nicht um einen offiziellen Hostnamen oder Alias handelt oder die Datenbank(n) nicht gefunden wird, die abgefragt wird.

Die ArgumentException Ausnahme wird auch zurückgegeben, wenn der hostNameOrAddress Parameter enthält Any oder IPv6Any.

Bei dieser Methode wird davon ausgegangen, dass eine IP-Literalzeichenfolge im hostNameOrAddress Parameter übergeben wird, die von der Anwendung mit allen Eigenschaften zurückgegeben werden soll IPHostEntry . Zu diesen Eigenschaften gehören die AddressList, Aliasesund HostName. Daher zeigt die Implementierung dieser Methode das folgende Verhalten an, wenn ein IP-Zeichenfolgenliteral übergeben wird:

  1. Die Methode versucht, die Adresse zu analysieren. Wenn der hostNameOrAddress Parameter ein legales IP-Zeichenfolgenliteral enthält, ist die erste Phase erfolgreich.

  2. Es wird versucht, einen Umgekehrten Nachschlagevorgang mithilfe der IP-Adresse des IP-Zeichenfolgenliterals abzurufen, um den Hostnamen abzurufen. Dieses Ergebnis wird als HostName Eigenschaft festgelegt.

  3. Der Hostname aus dieser umgekehrten Suche wird erneut verwendet, um alle möglichen IP-Adressen abzurufen, die dem Namen zugeordnet sind und als AddressList Eigenschaft festgelegt werden.

Bei einem IPv4-Zeichenfolgenliteral können alle drei vorstehenden Schritte erfolgreich sein. Es ist jedoch möglich, dass ein veralteter DNS-Eintrag für eine IPv4-Adresse, die tatsächlich zu einem anderen Host gehört, zurückgegeben werden kann. Dies kann dazu führen, dass Schritt 3 fehlschlägt und eine Ausnahme auslöst (es gibt einen DNS-PTR-Eintrag für die IPv4-Adresse, aber keinen DNS-A-Eintrag für die IPv4-Adresse).

Bei IPv6 kann Schritt 2 fehlschlagen, da die meisten IPv6-Bereitstellungen den Reversedatensatz (PTR) für eine IPv6-Adresse nicht registrieren. Daher kann diese Methode die Zeichenfolge IPv6-Literal als vollqualifizierten Domänenhostnamen (FQDN) in der HostName Eigenschaft zurückgeben.

Die GetHostAddresses Methode hat ein anderes Verhalten in Bezug auf IP-Literale. Wenn Schritt 1 oben erfolgreich ist (es wird erfolgreich als IP-Adresse analysiert), wird diese Adresse sofort als Ergebnis zurückgegeben. Es gibt keinen Versuch, einen umgekehrten Nachschlagevorgang zu versuchen.

IPv6-Adressen werden aus den Ergebnissen dieser Methode gefiltert, wenn der lokale Computer IPv6 nicht installiert hat. Daher ist es möglich, eine leere IPHostEntry Instanz zurückzuholen, wenn nur IPv6-Ergebnisse für den hostNameOrAddressPARAMETER verfügbar sind.

Die Aliases Eigenschaft der IPHostEntry zurückgegebenen Instanz wird von dieser Methode nicht aufgefüllt und ist immer leer.

Diese Methode wird mithilfe der Namensauflösungs-APIs des zugrunde liegenden Betriebssystems implementiert (z. B. win32-API getaddrinfo unter Windows und entsprechende APIs auf anderen Plattformen). Wenn ein Host in der hosts Datei beschrieben wird, werden die IP-Adresse oder Adressen zurückgegeben, ohne den DNS-Server abzufragen.

Hinweis

Dieses Mitglied gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von GetHostEntry(String).

Gilt für:

GetHostEntryAsync(String, CancellationToken)

Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

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)

Parameter

hostNameOrAddress
String

Der Hostname oder die IP-Adresse, die aufgelöst werden soll.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um den asynchronen Vorgang zu signalisieren, sollte abgebrochen werden.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result Eigenschaft für das Taskobjekt gibt eine IPHostEntry Instanz zurück, die die Adressinformationen zum in hostNameOrAddressder Datei angegebenen Host enthält.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von GetHostEntry(String).

Gilt für:

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs
Quelle:
Dns.cs

Löst einen Hostnamen oder eine IP-Adresse als asynchronen Vorgang in eine IPHostEntry Instanz auf.

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)

Parameter

hostNameOrAddress
String

Der Hostname oder die IP-Adresse, die aufgelöst werden soll.

family
AddressFamily

Die Adressfamilie, für die IPs abgerufen werden sollen. Wenn Unspecified, rufen Sie alle IPs unabhängig von der Adressfamilie ab.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um den asynchronen Vorgang zu signalisieren, sollte abgebrochen werden.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result Eigenschaft für das Taskobjekt gibt eine IPHostEntry Instanz zurück, die die Adressinformationen zum in hostNameOrAddressder Datei angegebenen Host enthält.

Ausnahmen

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von GetHostEntry(String, AddressFamily).

Gilt für: