Dns.GetHostEntryAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoznaje nazwę hosta lub adres IP wystąpienia IPHostEntry 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 address
obiekcie .
Wyjątki
address
to null
.
Podczas rozwiązywania problemu address
wystę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 programie .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 hostNameOrAddress
obiekcie .
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:
Metoda próbuje przeanalizować adres.
hostNameOrAddress
Jeśli parametr zawiera legalny literał ciągu IP, pierwsza faza zakończy się pomyślnie.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ść.
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 programie .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 hostNameOrAddress
obiekcie .
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 IP wystąpienia IPHostEntry 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 hostNameOrAddress
obiekcie .
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ę .