Dns.GetHostEntry Metod

Definition

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans.

Överlagringar

Name Description
GetHostEntry(IPAddress)

Löser en IP-adress till en IPHostEntry instans.

GetHostEntry(String)

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans.

GetHostEntry(IPAddress)

Löser en IP-adress till en IPHostEntry instans.

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

Parametrar

address
IPAddress

En IP-adress.

Returer

En IPHostEntry instans som innehåller adressinformation om värden som anges i address.

Undantag

address är null.

Ett fel påträffas när du löser address.

address är en ogiltig IP-adress.

Exempel

I följande kodexempel används GetHostEntry metoden för att matcha en IP-adress till en IPHostEntry instans.

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

Kommentarer

Metoden GetHostEntry frågar en DNS-server efter DE IP-adresser och alias som är associerade med en IP-adress.

IPv6-adresser filtreras från resultatet av GetHostEntry metoden om den lokala datorn inte har IPv6 installerat. Därför är det möjligt att få tillbaka en tom IPHostEntry instans om endast IPv6-resultat var tillgängliga för parametern address .

Egenskapen Aliases för den returnerade instansen IPHostEntry fylls inte i med den här metoden och kommer alltid att vara tom.

Note

Den här medlemmen genererar spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.

Gäller för

GetHostEntry(String)

Löser ett värdnamn eller en IP-adress till en IPHostEntry instans.

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

Parametrar

hostNameOrAddress
String

Värdnamnet eller IP-adressen som ska matchas.

Returer

En IPHostEntry instans som innehåller adressinformation om värden som anges i hostNameOrAddress.

Undantag

Parametern hostNameOrAddress är null.

Parameterns hostNameOrAddress längd är större än 255 tecken.

Ett fel uppstod när parametern skulle matchas hostNameOrAddress .

Parametern hostNameOrAddress är en ogiltig IP-adress.

Exempel

I följande exempel används GetHostEntry metoden för att matcha en IP-adress till en IPHostEntry instans.

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

Kommentarer

Metoden GetHostEntry frågar en DNS-server efter den IP-adress som är associerad med ett värdnamn eller en IP-adress.

Om en tom sträng skickas som hostNameOrAddress argument returnerar den här metoden IPv4- och IPv6-adresserna för den lokala värden.

Om värdnamnet inte kunde hittas returneras undantaget SocketException med värdet 11001 (Windows Sockets-fel WSAHOST_NOT_FOUND). Det här undantaget kan returneras om DNS-servern inte svarar. Det här undantaget kan också returneras om namnet inte är ett officiellt värdnamn eller alias, eller om det inte går att hitta det i de databaser som efterfrågas.

Undantaget ArgumentException returneras också om parametern hostNameOrAddress innehåller Any eller IPv6Any.

Metoden GetHostEntry förutsätter att om en IP-literalsträng skickas i parametern hostNameOrAddress vill programmet att en IPHostEntry instans returneras med alla egenskaper som angetts. Dessa egenskaper inkluderar AddressList, Aliasesoch HostName. Därför uppvisar implementeringen av GetHostEntry metoden följande beteende när en IP-strängliteral skickas:

  1. Metoden försöker parsa adressen. Om parametern hostNameOrAddress innehåller en juridisk IP-strängliteral lyckas den första fasen.

  2. En omvänd sökning med IP-adressen för IP-strängliteralen försöker hämta värdnamnet. Det här resultatet anges som HostName egenskapen .

  3. Värdnamnet från den här omvända sökningen AddressList används igen för att hämta alla möjliga IP-adresser som är associerade med namnet och anges som egenskap.

För en IPv4-strängliteral kan alla tre stegen ovan lyckas. Men det är möjligt att en inaktuell DNS-post för en IPv4-adress som faktiskt tillhör en annan värd returneras. Detta kan leda till att steg 3 misslyckas och utlöser ett undantag (det finns en DNS PTR-post för IPv4-adressen, men ingen DNS A-post för IPv4-adressen).

För IPv6 kan steg 2 ovan misslyckas, eftersom de flesta IPv6-distributioner inte registrerar den omvända posten (PTR) för en IPv6-adress. Den här metoden kan därför returnera strängen IPv6-literal som det fullständiga domännamnet (FQDN) i HostName egenskapen.

Metoden GetHostAddresses har olika beteende när det gäller IP-literaler. Om steg 1 ovan lyckas (det parsas som en IP-adress) returneras den adressen omedelbart som resultat. Det finns inget försök till omvänd sökning.

IPv6-adresser filtreras från resultatet av GetHostEntry metoden om den lokala datorn inte har IPv6 installerat. Därför är det möjligt att få tillbaka en tom IPHostEntry instans om endast IPv6-resultat är tillgängliga för parametern hostNameOrAddress..

Egenskapen Aliases för den returnerade instansen IPHostEntry fylls inte i med den här metoden och kommer alltid att vara tom.

Note

Den här medlemmen genererar spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.

Gäller för