Dns.GetHostEntryAsync Metódus

Definíció

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

Túlterhelések

Name Description
GetHostEntryAsync(IPAddress)

Egy IP-címet IPHostEntry aszinkron műveletként old fel egy példánynak.

GetHostEntryAsync(String)

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

GetHostEntryAsync(String, CancellationToken)

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

GetHostEntryAsync(String, AddressFamily, CancellationToken)

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

GetHostEntryAsync(IPAddress)

Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs

Egy IP-címet IPHostEntry aszinkron műveletként old fel egy példánynak.

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)

Paraméterek

address
IPAddress

Egy IP-cím.

Válaszok

Az aszinkron műveletet képviselő tevékenységobjektum. A Result tevékenységobjektum tulajdonsága egy példányt IPHostEntry ad vissza, amely a megadott gazdagép címadatait addresstartalmazza.

Kivételek

address az null.

Hiba történik a feloldás addresssorán.

address érvénytelen IP-cím.

Megjegyzések

Ez a művelet nem blokkolja a műveletet. A visszaadott Task<TResult> objektum a address feloldás után befejeződik.

Ez a módszer lekérdezi a DNS-kiszolgálót az IP-címhez társított IP-címekhez és aliasokhoz.

Az IPv6-címek szűrése ennek a módszernek az eredményeiből történik, ha a helyi számítógépen nincs telepítve az IPv6. Ennek eredményeképpen vissza lehet szerezni egy üres IPHostEntry példányt, ha csak az IPv6-eredmények érhetők el a address paraméterhez.

A Aliases visszaadott példány tulajdonságát ez a IPHostEntry metódus nem tölti ki, és mindig üres lesz.

Note

Ez a tag nyomkövetési információkat bocsát ki, amikor engedélyezi a hálózati nyomkövetést az alkalmazásban. További információ: Network Tracing a .NET-keretrendszerben.

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által GetHostEntry(IPAddress)kiadott kivételeket: .

A következőre érvényes:

GetHostEntryAsync(String)

Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

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)

Paraméterek

hostNameOrAddress
String

A feloldandó állomásnév vagy IP-cím.

Válaszok

Az aszinkron műveletet képviselő tevékenységobjektum. A Result tevékenységobjektum tulajdonsága egy példányt IPHostEntry ad vissza, amely a megadott gazdagép címadatait hostNameOrAddresstartalmazza.

Kivételek

A hostNameOrAddress paraméter a következő null: .

A paraméter hossza hostNameOrAddress nagyobb, mint 255 karakter.

Hiba történt a hostNameOrAddress paraméter feloldásakor.

A hostNameOrAddress paraméter érvénytelen IP-cím.

Megjegyzések

Ez a művelet nem blokkolja a műveletet. A visszaadott Task<TResult> objektum a hostNameOrAddress feloldás után befejeződik.

Ez a metódus lekérdez egy DNS-kiszolgálót a gazdagép nevéhez vagy IP-címéhez társított IP-címhez.

Ha argumentumként hostNameOrAddress egy üres sztringet ad át, akkor ez a metódus a helyi gazdagép IPv4- és IPv6-címét adja vissza.

Ha a gazdagép neve nem található, a SocketException kivétel értéke 11001 (Windows Szoftvercsatornák hiba WSAHOST_NOT_FOUND). Ez a kivétel akkor adható vissza, ha a DNS-kiszolgáló nem válaszol. Ez a kivétel akkor is visszaadható, ha a név nem hivatalos állomásnév vagy alias, vagy nem található a lekérdezett adatbázis(ok)ban.

A ArgumentException kivételt akkor is visszaadja a rendszer, ha a hostNameOrAddress paraméter tartalmaz Any vagy IPv6Any.

Ez a módszer feltételezi, hogy ha egy IP-konstans sztringet ad át a hostNameOrAddress paraméterben, az alkalmazás egy példányt IPHostEntry szeretne visszaadni az összes tulajdonságkészlettel. Ezek a tulajdonságok közé tartozik a AddressList, Aliasesés HostNamea . Ennek eredményeképpen a metódus implementációja a következő viselkedést mutatja egy IP-sztring-literál átadásakor:

  1. A metódus megpróbálja elemezni a címet. Ha a hostNameOrAddress paraméter jogi IP-sztringkonstanst tartalmaz, az első fázis sikeres lesz.

  2. Az IP-sztring-literál IP-címével történő fordított kereséssel megkísérli beolvasni a gazdagép nevét. Ez az eredmény tulajdonságként HostName van beállítva.

  3. A fordított keresés állomásneve ismét a névhez társított összes lehetséges IP-cím lekérésére szolgál, és tulajdonságként AddressList van beállítva.

IPv4-sztringkonstans esetén a fenti három lépés sikeres lehet. Előfordulhat azonban, hogy egy olyan IPv4-cím elavult DNS-rekordját adja vissza, amely valójában egy másik gazdagéphez tartozik. Ez a 3. lépés meghiúsulását okozhatja, és kivételt okozhat (az IPv4-címhez dns PTR rekord tartozik, de az IPv4-címhez nincs DNS A rekord).

Az IPv6 esetében a fenti 2. lépés meghiúsulhat, mivel a legtöbb IPv6-telepítés nem regisztrálja az IPv6-címek fordított (PTR) rekordját. Így ez a metódus visszaadhatja az IPv6-literál sztringet a tulajdonság teljes tartománynevét (FQDN) tartalmazó HostName állomásnévként.

A GetHostAddresses metódus eltérő viselkedéssel rendelkezik az IP-literálok tekintetében. Ha a fenti 1. lépés sikeres (ip-címként sikeresen elemzi), az eredmény azonnal visszaadja a címet. Nincs kísérlet fordított keresésre.

Az IPv6-címek szűrése ennek a módszernek az eredményeiből történik, ha a helyi számítógépen nincs telepítve az IPv6. Ennek eredményeképpen vissza lehet kapni egy üres IPHostEntry példányt, ha csak az IPv6-eredmények érhetők el a hostNameOrAddress.paraméterhez.

A Aliases visszaadott példány tulajdonságát ez a IPHostEntry metódus nem tölti ki, és mindig üres lesz.

Ezt a metódust az operációs rendszer névfeloldási API-jaival implementáljuk (például a Win32 API getaddrinfo Windows, más platformokon pedig egyenértékű API-k használatával). Ha a hosts fájl egy gazdagépet ír le, a rendszer a DNS-kiszolgáló lekérdezése nélkül adja vissza az ott található IP-címet vagy címeket.

Note

Ez a tag nyomkövetési információkat bocsát ki, amikor engedélyezi a hálózati nyomkövetést az alkalmazásban. További információ: Network Tracing a .NET-keretrendszerben.

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által GetHostEntry(String)kiadott kivételeket: .

A következőre érvényes:

GetHostEntryAsync(String, CancellationToken)

Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

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)

Paraméterek

hostNameOrAddress
String

A feloldandó állomásnév vagy IP-cím.

cancellationToken
CancellationToken

Az aszinkron művelet jelzésére használható lemondási jogkivonatot le kell mondani.

Válaszok

Az aszinkron műveletet képviselő tevékenységobjektum. A Result tevékenységobjektum tulajdonsága egy példányt IPHostEntry ad vissza, amely a megadott gazdagép címadatait hostNameOrAddresstartalmazza.

Kivételek

A lemondási jogkivonat megszakadt. Ezt a kivételt a rendszer a visszaadott tevékenységben tárolja.

Megjegyzések

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által GetHostEntry(String)kiadott kivételeket: .

A következőre érvényes:

GetHostEntryAsync(String, AddressFamily, CancellationToken)

Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs
Forrás:
Dns.cs

A gazdagép nevét vagy IP-címét IPHostEntry aszinkron műveletként oldja fel egy példány számára.

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)

Paraméterek

hostNameOrAddress
String

A feloldandó állomásnév vagy IP-cím.

family
AddressFamily

Az a címcsalád, amelyhez ip-címeket kell lekérni. Ha Unspecified, a címcsaládtól függetlenül kérje le az összes IP-címet.

cancellationToken
CancellationToken

Az aszinkron művelet jelzésére használható lemondási jogkivonatot le kell mondani.

Válaszok

Az aszinkron műveletet képviselő tevékenységobjektum. A Result tevékenységobjektum tulajdonsága egy példányt IPHostEntry ad vissza, amely a megadott gazdagép címadatait hostNameOrAddresstartalmazza.

Kivételek

A lemondási jogkivonat megszakadt. Ezt a kivételt a rendszer a visszaadott tevékenységben tárolja.

Megjegyzések

Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által GetHostEntry(String, AddressFamily)kiadott kivételeket: .

A következőre érvényes: