Dns.GetHostEntryAsync Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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:
A metódus megpróbálja elemezni a címet. Ha a
hostNameOrAddressparaméter jogi IP-sztringkonstanst tartalmaz, az első fázis sikeres lesz.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.
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: .