Dns.GetHostEntryAsync Methode

Definition

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

Überlädt

GetHostEntryAsync(IPAddress)

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

GetHostEntryAsync(String)

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

GetHostEntryAsync(String, CancellationToken)

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

GetHostEntryAsync(String, AddressFamily, CancellationToken)

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

GetHostEntryAsync(IPAddress)

Löst eine IP-Adresse in eine IPHostEntry-Instanz als asynchronen Vorgang 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 im Task-Objekt gibt eine IPHostEntry-Instanz zurück, die Adressinformationen über den Host enthält, der in address angegeben wird.

Ausnahmen

address ist null.

Beim Auflösen von address ist ein Fehler aufgetreten.

address ist keine gültige IP-Adresse.

Hinweise

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

Diese Methode fragt einen DNS-Server nach den IP-Adressen und Aliasen ab, die einer IP-Adresse zugeordnet sind.

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

Die Aliases Eigenschaft des zurückgegebenen IPHostEntry instance 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 Netzwerkablaufverfolgung im .NET Framework.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung 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. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten GetHostEntry(IPAddress)Ausnahmen.

Gilt für:

GetHostEntryAsync(String)

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz als asynchronen Vorgang 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 aufzulösende Hostname oder die aufzulösende IP-Adresse.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result-Eigenschaft im Task-Objekt gibt eine IPHostEntry-Instanz zurück, die Adressinformationen über den Host enthält, der in hostNameOrAddress angegeben wird.

Ausnahmen

Der hostNameOrAddress-Parameter ist null.

Der hostNameOrAddress-Parameter ist länger als 255 Zeichen.

Beim Auflösen des hostNameOrAddress-Parameters ist ein Fehler aufgetreten.

Der hostNameOrAddress-Parameter ist keine gültige IP-Adresse.

Hinweise

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

Diese Methode fragt einen DNS-Server nach der 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 werden konnte, 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 antwortet. Diese Ausnahme kann auch zurückgegeben werden, wenn der Name kein offizieller Hostname oder Alias ist oder nicht in den abgefragten Datenbanken gefunden werden kann.

Die ArgumentException Ausnahme wird auch zurückgegeben, wenn der hostNameOrAddress Parameter oder IPv6AnyenthältAny.

Bei dieser Methode wird davon ausgegangen, dass, wenn eine IP-Literalzeichenfolge im hostNameOrAddress Parameter übergeben wird, dass die Anwendung eine IPHostEntry instance zurückgeben möchte, wobei alle Eigenschaften festgelegt sind. Zu diesen Eigenschaften gehören , AddressListAliasesund HostName. Daher weist die Implementierung dieser Methode das folgende Verhalten auf, 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. Ein Reverse-Lookup mithilfe der IP-Adresse des IP-Zeichenfolgenliterals wird versucht, den Hostnamen abzurufen. Dieses Ergebnis wird als HostName -Eigenschaft festgelegt.

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

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

Bei IPv6 schlägt Schritt 2 möglicherweise fehl, da die meisten IPv6-Bereitstellungen den Reversedatensatz (PTR) nicht für eine IPv6-Adresse registrieren. Daher kann diese Methode den Zeichenfolgen-IPv6-Literal als den 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 (erfolgreich als IP-Adresse analysiert), wird diese Adresse sofort als Ergebnis zurückgegeben. Es wird kein Reverse Lookup versucht.

IPv6-Adressen werden aus den Ergebnissen dieser Methode gefiltert, wenn auf dem lokalen Computer IPv6 nicht installiert ist. Daher ist es möglich, einen leeren IPHostEntry instance zurückzuholen, wenn nur IPv6-Ergebnisse für den hostNameOrAddressParameter verfügbar sind.

Die Aliases Eigenschaft des zurückgegebenen IPHostEntry instance 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. die Win32-API getaddrinfo unter Windows und entsprechende APIs auf anderen Plattformen). Wenn ein Host in der hosts Datei beschrieben wird, werden die IP-Adresse bzw. 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 Netzwerkablaufverfolgung im .NET Framework.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung 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. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten GetHostEntry(String)Ausnahmen.

Gilt für:

GetHostEntryAsync(String, CancellationToken)

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz als asynchronen Vorgang 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 aufzulösende Hostname oder die aufzulösende IP-Adresse.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um zu signalisieren, dass der asynchrone Vorgang abgebrochen werden sollte.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result -Eigenschaft für das Taskobjekt gibt eine IPHostEntry instance zurück, die die Adressinformationen zum in hostNameOrAddressangegebenen 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 sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung 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. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten GetHostEntry(String)Ausnahmen.

Gilt für:

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Löst einen Hostnamen oder eine IP-Adresse in eine IPHostEntry-Instanz als asynchronen Vorgang 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 aufzulösende Hostname oder die aufzulösende IP-Adresse.

family
AddressFamily

Die Adressfamilie, für die IP-Adressen abgerufen werden sollen. Wenn Unspecified, ruft alle IP-Adressen ab, unabhängig von der Adressfamilie.

cancellationToken
CancellationToken

Ein Abbruchtoken, das verwendet werden kann, um zu signalisieren, dass der asynchrone Vorgang abgebrochen werden sollte.

Gibt zurück

Das Aufgabenobjekt, das den asynchronen Vorgang darstellt. Die Result -Eigenschaft für das Taskobjekt gibt einen IPHostEntry instance zurück, der die Adressinformationen zum in hostNameOrAddressangegebenen 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 sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung 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. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten GetHostEntry(String, AddressFamily)Ausnahmen.

Gilt für: