Dns.GetHostEntryAsync Metoda

Definicja

Rozpoznaje nazwę hosta lub adres IPHostEntry IP wystąpienia jako operację asynchroniczną.

Przeciążenia

GetHostEntryAsync(IPAddress)

Rozpoznaje adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

GetHostEntryAsync(String)

Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

GetHostEntryAsync(String, CancellationToken)

Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

GetHostEntryAsync(IPAddress)

Źródło:
Dns.cs
Źródło:
Dns.cs
Źródło:
Dns.cs

Rozpoznaje adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

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

Adres IP.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną. Właściwość Result obiektu zadania zwraca IPHostEntry wystąpienie zawierające informacje o adresie hosta określonego w addressobiekcie .

Wyjątki

address to null.

Podczas rozwiązywania problemu addresswystępuje błąd .

address jest nieprawidłowym adresem IP.

Uwagi

Ta operacja nie będzie blokować. Zwrócony obiekt zostanie ukończony Task<TResult> po rozwiązaniu problemu address .

Ta metoda wysyła zapytanie do serwera DNS dla adresów IP i aliasów skojarzonych z adresem IP.

Adresy IPv6 są filtrowane z wyników tej metody, jeśli komputer lokalny nie ma zainstalowanego protokołu IPv6. W rezultacie można odzyskać puste IPHostEntry wystąpienie, jeśli tylko wyniki protokołu IPv6, jeśli są dostępne dla parametru address .

Właściwość Aliases zwróconego IPHostEntry wystąpienia nie jest wypełniana przez tę metodę i zawsze będzie pusta.

Uwaga

Ten element członkowski emituje informacje śledzenia podczas włączania śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez GetHostEntry(IPAddress)usługę .

Dotyczy

GetHostEntryAsync(String)

Źródło:
Dns.cs
Źródło:
Dns.cs
Źródło:
Dns.cs

Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

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

Nazwa hosta lub adres IP do rozpoznania.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną. Właściwość Result obiektu zadania zwraca IPHostEntry wystąpienie zawierające informacje o adresie hosta określonego w hostNameOrAddressobiekcie .

Wyjątki

Parametr hostNameOrAddress to null.

Długość parametru hostNameOrAddress jest większa niż 255 znaków.

Wystąpił błąd podczas rozpoznawania parametru hostNameOrAddress .

Parametr hostNameOrAddress jest nieprawidłowym adresem IP.

Uwagi

Ta operacja nie będzie blokować. Zwrócony obiekt zostanie ukończony Task<TResult> po rozwiązaniu problemu hostNameOrAddress .

Ta metoda wysyła zapytanie do serwera DNS dla adresu IP skojarzonego z nazwą hosta lub adresem IP.

Jeśli pusty ciąg jest przekazywany jako hostNameOrAddress argument, ta metoda zwraca adresy IPv4 i IPv6 hosta lokalnego.

Jeśli nie można odnaleźć nazwy hosta, SocketException zwracany jest wyjątek z wartością 11001 (błąd gniazda systemu Windows WSAHOST_NOT_FOUND). Ten wyjątek można zwrócić, jeśli serwer DNS nie odpowiada. Ten wyjątek można również zwrócić, jeśli nazwa nie jest oficjalną nazwą hosta lub aliasem lub nie można go odnaleźć w bazach danych, których dotyczy zapytanie.

Wyjątek ArgumentException jest również zwracany, jeśli hostNameOrAddress parametr zawiera Any wartość lub IPv6Any.

Ta metoda zakłada, że jeśli ciąg literału ADRESU IP jest przekazywany w parametrze hostNameOrAddress , który aplikacja chce IPHostEntry wystąpienia zwróconego ze wszystkimi ustawionymi właściwościami. Te właściwości obejmują AddressList, Aliasesi HostName. W związku z tym implementacja tej metody wykazuje następujące zachowanie po przekazaniu literału ciągu IP:

  1. Metoda próbuje przeanalizować adres. hostNameOrAddress Jeśli parametr zawiera legalny literał ciągu IP, pierwsza faza zakończy się pomyślnie.

  2. Wyszukiwanie wsteczne przy użyciu adresu IP literału ciągu IP próbuje uzyskać nazwę hosta. Ten wynik jest ustawiany jako HostName właściwość.

  3. Nazwa hosta z tego wstecznego wyszukiwania jest ponownie używana do uzyskania wszystkich możliwych adresów IP skojarzonych z nazwą i ustawioną AddressList jako właściwość.

W przypadku literału ciągu IPv4 wszystkie trzy powyższe kroki mogą zakończyć się powodzeniem. Istnieje jednak możliwość zwrócenia nieaktualnego rekordu DNS dla adresu IPv4, który rzeczywiście należy do innego hosta. Może to spowodować niepowodzenie kroku 3 i zgłoszenie wyjątku (istnieje rekord PTR DNS dla adresu IPv4, ale żaden rekord DNS A dla adresu IPv4).

W przypadku protokołu IPv6 krok 2 powyżej może zakończyć się niepowodzeniem, ponieważ większość wdrożeń protokołu IPv6 nie rejestruje rekordu odwrotnego (PTR) dla adresu IPv6. Dlatego ta metoda może zwrócić literał ciągu IPv6 jako w pełni kwalifikowaną nazwę hosta domeny (FQDN) we HostName właściwości.

Metoda GetHostAddresses ma inne zachowanie w odniesieniu do literałów IP. Jeśli krok nr 1 powyżej zakończy się pomyślnie (zostanie pomyślnie przeanalizowany jako adres IP), ten adres zostanie natychmiast zwrócony w wyniku. Nie ma próby wyszukiwania zwrotnego.

Adresy IPv6 są filtrowane z wyników tej metody, jeśli komputer lokalny nie ma zainstalowanego protokołu IPv6. W rezultacie można odzyskać puste IPHostEntry wystąpienie, jeśli tylko wyniki protokołu IPv6, jeśli są dostępne tylko dla parametru hostNameOrAddress..

Właściwość Aliases zwróconego IPHostEntry wystąpienia nie jest wypełniana przez tę metodę i zawsze będzie pusta.

Ta metoda jest implementowana przy użyciu interfejsów API rozpoznawania nazw bazowego systemu operacyjnego (takich jak interfejs API Win32 getaddrinfo w systemie Windows i równoważnych interfejsów API na innych platformach). Jeśli host jest opisany w hosts pliku, adres IP lub adresy zostaną zwrócone bez wykonywania zapytań względem serwera DNS.

Uwaga

Ten element członkowski emituje informacje śledzenia podczas włączania śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez GetHostEntry(String)usługę .

Dotyczy

GetHostEntryAsync(String, CancellationToken)

Źródło:
Dns.cs
Źródło:
Dns.cs
Źródło:
Dns.cs

Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry jako operację asynchroniczną.

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

Nazwa hosta lub adres IP do rozpoznania.

cancellationToken
CancellationToken

Należy anulować token anulowania, który może służyć do sygnalizowania operacji asynchronicznej.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną. Właściwość Result obiektu zadania zwraca IPHostEntry wystąpienie zawierające informacje o adresie hosta określonego w hostNameOrAddressobiekcie .

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez GetHostEntry(String)usługę .

Dotyczy

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Źródło:
Dns.cs
Źródło:
Dns.cs
Źródło:
Dns.cs

Rozpoznaje nazwę hosta lub adres IPHostEntry IP wystąpienia jako operację asynchroniczną.

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

Nazwa hosta lub adres IP do rozpoznania.

family
AddressFamily

Rodzina adresów, dla której należy pobrać adresy IP. Jeśli Unspecified, pobierz wszystkie adresy IP niezależnie od rodziny adresów.

cancellationToken
CancellationToken

Należy anulować token anulowania, który może służyć do sygnalizowania operacji asynchronicznej.

Zwraca

Obiekt zadania reprezentujący operację asynchroniczną. Właściwość Result obiektu zadania zwraca IPHostEntry wystąpienie zawierające informacje o adresie hosta określonego w elem.hostNameOrAddress

Wyjątki

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Uwagi

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez GetHostEntry(String, AddressFamily)usługę .

Dotyczy