Dns.GetHostEntry Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een hostnaam of IP-adres omgezet in een IPHostEntry exemplaar.
Overloads
| Name | Description |
|---|---|
| GetHostEntry(IPAddress) |
Hiermee wordt een IP-adres omgezet naar een IPHostEntry exemplaar. |
| GetHostEntry(String) |
Hiermee wordt een hostnaam of IP-adres omgezet in een IPHostEntry exemplaar. |
GetHostEntry(IPAddress)
Hiermee wordt een IP-adres omgezet naar een IPHostEntry exemplaar.
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::Net::IPAddress ^ address);
public static System.Net.IPHostEntry GetHostEntry(System.Net.IPAddress address);
static member GetHostEntry : System.Net.IPAddress -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (address As IPAddress) As IPHostEntry
Parameters
- address
- IPAddress
Een IP-adres.
Retouren
Een IPHostEntry exemplaar met adresgegevens over de host die is opgegeven in address.
Uitzonderingen
address is null.
Er is een fout opgetreden bij het oplossen van het probleem address.
address is een ongeldig IP-adres.
Voorbeelden
In het volgende codevoorbeeld wordt de GetHostEntry methode gebruikt om een IP-adres op te lossen naar een IPHostEntry exemplaar.
public static void DoGetHostEntry(IPAddress address)
{
IPHostEntry host = Dns.GetHostEntry(address);
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}");
}
Public Sub DoGetHostEntry(address As IPAddress)
Dim host as IPHostEntry = Dns.GetHostEntry(address)
Console.WriteLine($"GetHostEntry({address}) returns HostName: {host.HostName}")
End Sub
Opmerkingen
De GetHostEntry methode voert een query uit op een DNS-server voor de IP-adressen en aliassen die zijn gekoppeld aan een IP-adres.
IPv6-adressen worden gefilterd op basis van de resultaten van de GetHostEntry methode als op de lokale computer geen IPv6 is geïnstalleerd. Als gevolg hiervan is het mogelijk om een leeg IPHostEntry exemplaar terug te krijgen als alleen IPv6-resultaten beschikbaar waren voor de address parameter.
De Aliases eigenschap van het IPHostEntry geretourneerde exemplaar wordt niet ingevuld door deze methode en is altijd leeg.
Note
Dit lid verzendt traceringsgegevens wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.
Van toepassing op
GetHostEntry(String)
Hiermee wordt een hostnaam of IP-adres omgezet in een IPHostEntry exemplaar.
public:
static System::Net::IPHostEntry ^ GetHostEntry(System::String ^ hostNameOrAddress);
public static System.Net.IPHostEntry GetHostEntry(string hostNameOrAddress);
static member GetHostEntry : string -> System.Net.IPHostEntry
Public Shared Function GetHostEntry (hostNameOrAddress As String) As IPHostEntry
Parameters
- hostNameOrAddress
- String
De hostnaam of het IP-adres dat moet worden omgezet.
Retouren
Een IPHostEntry exemplaar met adresgegevens over de host die is opgegeven in hostNameOrAddress.
Uitzonderingen
De hostNameOrAddress parameter is null.
De lengte van hostNameOrAddress de parameter is groter dan 255 tekens.
Er is een fout opgetreden bij het oplossen van de hostNameOrAddress parameter.
De hostNameOrAddress parameter is een ongeldig IP-adres.
Voorbeelden
In het volgende voorbeeld wordt de GetHostEntry methode gebruikt om een IP-adres op te lossen naar een IPHostEntry exemplaar.
public static void DoGetHostEntry(string hostname)
{
IPHostEntry host = Dns.GetHostEntry(hostname);
Console.WriteLine($"GetHostEntry({hostname}) returns:");
foreach (IPAddress address in host.AddressList)
{
Console.WriteLine($" {address}");
}
}
Public Sub DoGetHostEntry(hostName As String)
Dim host as IPHostEntry = Dns.GetHostEntry(hostname)
Console.WriteLine($"GetHostEntry({hostname}) returns:")
Dim addresses As IPAddress() = host.AddressList
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
Opmerkingen
De GetHostEntry methode voert een query uit op een DNS-server voor het IP-adres dat is gekoppeld aan een hostnaam of IP-adres.
Als een lege tekenreeks wordt doorgegeven als het hostNameOrAddress argument, retourneert deze methode de IPv4- en IPv6-adressen van de lokale host.
Als de hostnaam niet kan worden gevonden, wordt de uitzondering SocketException geretourneerd met de waarde 11001 (Windows Sockets-fout WSAHOST_NOT_FOUND). Deze uitzondering kan worden geretourneerd als de DNS-server niet reageert. Deze uitzondering kan ook worden geretourneerd als de naam geen officiële hostnaam of alias is, of deze kan niet worden gevonden in de database(s) die worden opgevraagd.
De ArgumentException uitzondering wordt ook geretourneerd als de hostNameOrAddress parameter de parameter bevat Any of IPv6Any.
Bij GetHostEntry de methode wordt ervan uitgegaan dat als een letterlijke IP-tekenreeks wordt doorgegeven in de hostNameOrAddress parameter die de toepassing wil dat een IPHostEntry exemplaar wordt geretourneerd met alle eigenschappenset. Deze eigenschappen omvatten de AddressList, Aliasesen HostName. Als gevolg hiervan vertoont de implementatie van de GetHostEntry methode het volgende gedrag wanneer een letterlijke IP-tekenreeks wordt doorgegeven:
De methode probeert het adres te parseren. Als de
hostNameOrAddressparameter een letterlijke waarde voor een juridische IP-tekenreeks bevat, slaagt de eerste fase.Een reverse lookup met behulp van het IP-adres van de letterlijke IP-tekenreeks wordt geprobeerd de hostnaam te verkrijgen. Dit resultaat wordt ingesteld als de HostName eigenschap.
De hostnaam van deze reverse lookup wordt opnieuw gebruikt om alle mogelijke IP-adressen te verkrijgen die zijn gekoppeld aan de naam en ingesteld als de AddressList eigenschap.
Voor een letterlijke IPv4-tekenreeks kunnen alle drie de bovenstaande stappen slagen. Maar het is mogelijk dat een verlopen DNS-record voor een IPv4-adres dat daadwerkelijk tot een andere host behoort, wordt geretourneerd. Dit kan ertoe leiden dat stap 3 mislukt en een uitzondering genereert (er is een DNS PTR-record voor het IPv4-adres, maar geen DNS A-record voor het IPv4-adres).
Voor IPv6 kan stap 2 hierboven mislukken, omdat de meeste IPv6-implementaties de omgekeerde record (PTR) niet registreren voor een IPv6-adres. Deze methode kan dus de letterlijke IPv6-tekenreeks retourneren als de FQDN-hostnaam (Fully Qualified Domain) in de HostName eigenschap.
De GetHostAddresses methode heeft een ander gedrag met betrekking tot letterlijke IP-gegevens. Als stap 1 hierboven slaagt (het parseert het als een IP-adres), wordt dat adres onmiddellijk als resultaat geretourneerd. Er is geen poging tot een reverse lookup.
IPv6-adressen worden gefilterd op basis van de resultaten van de GetHostEntry methode als op de lokale computer geen IPv6 is geïnstalleerd. Als gevolg hiervan is het mogelijk om een leeg IPHostEntry exemplaar terug te krijgen als alleen IPv6-resultaten beschikbaar zijn voor de hostNameOrAddress.parameter.
De Aliases eigenschap van het IPHostEntry geretourneerde exemplaar wordt niet ingevuld door deze methode en is altijd leeg.
Note
Dit lid verzendt traceringsgegevens wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.