Dns.BeginGetHostEntry Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Asynchronně přeloží název hostitele nebo IP adresu na IPHostEntry instanci.
Přetížení
BeginGetHostEntry(IPAddress, AsyncCallback, Object) |
Asynchronně přeloží IP adresu na IPHostEntry instanci. |
BeginGetHostEntry(String, AsyncCallback, Object) |
Asynchronně přeloží název hostitele nebo IP adresu na IPHostEntry instanci. |
BeginGetHostEntry(IPAddress, AsyncCallback, Object)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
Asynchronně přeloží IP adresu na IPHostEntry instanci.
public:
static IAsyncResult ^ BeginGetHostEntry(System::Net::IPAddress ^ address, AsyncCallback ^ requestCallback, System::Object ^ stateObject);
public static IAsyncResult BeginGetHostEntry (System.Net.IPAddress address, AsyncCallback? requestCallback, object? stateObject);
public static IAsyncResult BeginGetHostEntry (System.Net.IPAddress address, AsyncCallback requestCallback, object stateObject);
static member BeginGetHostEntry : System.Net.IPAddress * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginGetHostEntry (address As IPAddress, requestCallback As AsyncCallback, stateObject As Object) As IAsyncResult
Parametry
- address
- IPAddress
IP adresa, která se má přeložit.
- requestCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.
- stateObject
- Object
Objekt definovaný uživatelem, který obsahuje informace o operaci. Po dokončení operace se tento objekt předá requestCallback
delegátu.
Návraty
Instance IAsyncResult , která odkazuje na asynchronní požadavek.
Výjimky
address
je null
.
Při řešení chyby dojde k address
chybě .
address
je neplatná IP adresa.
Příklady
Následující příklad kódu používá metodu BeginGetHostEntry k překladu IP adresy na IPHostEntry instanci.
// Signals when the resolve has finished.
public:
static ManualResetEvent^ GetHostEntryFinished =
gcnew ManualResetEvent(false);
// define the state object for the callback.
// use hostName to correlate calls with the proper result.
ref class ResolveState
{
public:
String^ hostName;
IPHostEntry^ resolvedIPs;
ResolveState(String^ host)
{
hostName = host;
}
property IPHostEntry^ IPs
{
IPHostEntry^ get()
{
return resolvedIPs;
}
void set(IPHostEntry^ IPs)
{
resolvedIPs = IPs;
}
}
property String^ host
{
String^ get()
{
return hostName;
}
void set(String^ host)
{
hostName = host;
}
}
};
// Record the IPs in the state object for later use.
static void GetHostEntryCallback(IAsyncResult^ ar)
{
ResolveState^ ioContext = (ResolveState^)(ar->AsyncState);
ioContext->IPs = Dns::EndGetHostEntry(ar);
GetHostEntryFinished->Set();
}
// Determine the Internet Protocol(IP) addresses for this
// host asynchronously.
public:
static void DoGetHostEntryAsync(String^ hostName)
{
GetHostEntryFinished->Reset();
ResolveState^ ioContext = gcnew ResolveState(hostName);
Dns::BeginGetHostEntry(ioContext->host,
gcnew AsyncCallback(GetHostEntryCallback), ioContext);
// Wait here until the resolve completes
// (the callback calls .Set())
GetHostEntryFinished->WaitOne();
Console::WriteLine("EndGetHostEntry({0}) returns:", ioContext->host);
for (int i = 0; i < ioContext->IPs->AddressList->Length; i++)
{
Console::WriteLine(" {0}", ioContext->IPs->AddressList[i]->ToString());
}
// for each (IPAddress^ address in ioContext->IPs)
// {
// Console::WriteLine("{0} ", address);
// }
}
// Signals when the resolve has finished.
public static ManualResetEvent GetHostEntryFinished =
new ManualResetEvent(false);
// Define the state object for the callback.
// Use hostName to correlate calls with the proper result.
public class ResolveState
{
string hostName;
IPHostEntry resolvedIPs;
public ResolveState(string host)
{
hostName = host;
}
public IPHostEntry IPs
{
get { return resolvedIPs; }
set { resolvedIPs = value; }
}
public string host
{
get { return hostName; }
set { hostName = value; }
}
}
// Record the IPs in the state object for later use.
public static void GetHostEntryCallback(IAsyncResult ar)
{
ResolveState ioContext = (ResolveState)ar.AsyncState;
ioContext.IPs = Dns.EndGetHostEntry(ar);
GetHostEntryFinished.Set();
}
// Determine the Internet Protocol (IP) addresses for
// this host asynchronously.
public static void DoGetHostEntryAsync(string hostname)
{
GetHostEntryFinished.Reset();
ResolveState ioContext= new ResolveState(hostname);
Dns.BeginGetHostEntry(ioContext.host,
new AsyncCallback(GetHostEntryCallback), ioContext);
// Wait here until the resolve completes (the callback
// calls .Set())
GetHostEntryFinished.WaitOne();
Console.WriteLine("EndGetHostEntry({0}) returns:", ioContext.host);
foreach (IPAddress address in ioContext.IPs.AddressList)
{
Console.WriteLine($" {address}");
}
}
' Signals when the resolve has finished.
Dim Shared GetHostEntryFinished As ManualResetEvent = New ManualResetEvent(False)
' Define the state object for the callback.
' Use hostName to correlate calls with the proper result.
Class ResolveState
Dim hostName As String
Dim resolvedIPs As IPHostEntry
Public Sub New(host As String)
hostName = host
End Sub
Public Property IPs AS IPHostEntry
Get
Return resolvedIPs
End Get
Set
resolvedIPs = value
End Set
End Property
Public Property host As String
Get
Return hostName
End Get
Set
hostName = value
End Set
End Property
End Class
' Record the IPs in the state object for later use.
Shared Sub GetHostEntryCallback(ar As IAsyncResult)
Dim ioContext As ResolveState = ar.AsyncState
ioContext.IPs = Dns.EndGetHostEntry(ar)
GetHostEntryFinished.Set()
End Sub
' Determine the Internet Protocol (IP) addresses for
' this host asynchronously.
Shared Sub DoGetHostEntryAsync(hostname As String)
GetHostEntryFinished.Reset()
Dim ioContext As ResolveState = New ResolveState(hostname)
Dns.BeginGetHostEntry(ioContext.host,AddressOf GetHostEntryCallback, ioContext)
' Wait here until the resolve completes (the callback
' calls .Set())
GetHostEntryFinished.WaitOne()
Console.WriteLine($"EndGetHostEntry({ioContext.host}) returns:")
Dim addresses As IPAddress() = ioContext.IPs.AddressList
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
Poznámky
Metoda BeginGetHostEntry asynchronně dotazuje server DNS na IP adresy a aliasy přidružené k IP adrese.
Poznámka Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Asynchronní BeginGetHostEntry operace musí být dokončena voláním EndGetHostEntry metody . Obvykle je metoda vyvolána delegátem requestCallback
.
Tato metoda neblokuje, dokud není operace dokončena. Pokud chcete blokovat, dokud se operace dokončí, použijte metodu GetHostEntry .
Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Platí pro
BeginGetHostEntry(String, AsyncCallback, Object)
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
- Zdroj:
- Dns.cs
Asynchronně přeloží název hostitele nebo IP adresu na IPHostEntry instanci.
public:
static IAsyncResult ^ BeginGetHostEntry(System::String ^ hostNameOrAddress, AsyncCallback ^ requestCallback, System::Object ^ stateObject);
public static IAsyncResult BeginGetHostEntry (string hostNameOrAddress, AsyncCallback? requestCallback, object? stateObject);
public static IAsyncResult BeginGetHostEntry (string hostNameOrAddress, AsyncCallback requestCallback, object stateObject);
static member BeginGetHostEntry : string * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginGetHostEntry (hostNameOrAddress As String, requestCallback As AsyncCallback, stateObject As Object) As IAsyncResult
Parametry
- hostNameOrAddress
- String
Název hostitele nebo IP adresa, které se mají přeložit.
- requestCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.
- stateObject
- Object
Objekt definovaný uživatelem, který obsahuje informace o operaci. Po dokončení operace se tento objekt předá requestCallback
delegátu.
Návraty
Instance IAsyncResult , která odkazuje na asynchronní požadavek.
Výjimky
hostNameOrAddress
je null
.
Délka hostNameOrAddress
je větší než 255 znaků.
Při řešení chyby dojde k hostNameOrAddress
chybě .
hostNameOrAddress
je neplatná IP adresa.
Příklady
Následující příklad kódu používá metodu BeginGetHostEntry k překladu IP adresy na IPHostEntry instanci.
// Signals when the resolve has finished.
public:
static ManualResetEvent^ GetHostEntryFinished =
gcnew ManualResetEvent(false);
// define the state object for the callback.
// use hostName to correlate calls with the proper result.
ref class ResolveState
{
public:
String^ hostName;
IPHostEntry^ resolvedIPs;
ResolveState(String^ host)
{
hostName = host;
}
property IPHostEntry^ IPs
{
IPHostEntry^ get()
{
return resolvedIPs;
}
void set(IPHostEntry^ IPs)
{
resolvedIPs = IPs;
}
}
property String^ host
{
String^ get()
{
return hostName;
}
void set(String^ host)
{
hostName = host;
}
}
};
// Record the IPs in the state object for later use.
static void GetHostEntryCallback(IAsyncResult^ ar)
{
ResolveState^ ioContext = (ResolveState^)(ar->AsyncState);
ioContext->IPs = Dns::EndGetHostEntry(ar);
GetHostEntryFinished->Set();
}
// Determine the Internet Protocol(IP) addresses for this
// host asynchronously.
public:
static void DoGetHostEntryAsync(String^ hostName)
{
GetHostEntryFinished->Reset();
ResolveState^ ioContext = gcnew ResolveState(hostName);
Dns::BeginGetHostEntry(ioContext->host,
gcnew AsyncCallback(GetHostEntryCallback), ioContext);
// Wait here until the resolve completes
// (the callback calls .Set())
GetHostEntryFinished->WaitOne();
Console::WriteLine("EndGetHostEntry({0}) returns:", ioContext->host);
for (int i = 0; i < ioContext->IPs->AddressList->Length; i++)
{
Console::WriteLine(" {0}", ioContext->IPs->AddressList[i]->ToString());
}
// for each (IPAddress^ address in ioContext->IPs)
// {
// Console::WriteLine("{0} ", address);
// }
}
// Signals when the resolve has finished.
public static ManualResetEvent GetHostEntryFinished =
new ManualResetEvent(false);
// Define the state object for the callback.
// Use hostName to correlate calls with the proper result.
public class ResolveState
{
string hostName;
IPHostEntry resolvedIPs;
public ResolveState(string host)
{
hostName = host;
}
public IPHostEntry IPs
{
get { return resolvedIPs; }
set { resolvedIPs = value; }
}
public string host
{
get { return hostName; }
set { hostName = value; }
}
}
// Record the IPs in the state object for later use.
public static void GetHostEntryCallback(IAsyncResult ar)
{
ResolveState ioContext = (ResolveState)ar.AsyncState;
ioContext.IPs = Dns.EndGetHostEntry(ar);
GetHostEntryFinished.Set();
}
// Determine the Internet Protocol (IP) addresses for
// this host asynchronously.
public static void DoGetHostEntryAsync(string hostname)
{
GetHostEntryFinished.Reset();
ResolveState ioContext= new ResolveState(hostname);
Dns.BeginGetHostEntry(ioContext.host,
new AsyncCallback(GetHostEntryCallback), ioContext);
// Wait here until the resolve completes (the callback
// calls .Set())
GetHostEntryFinished.WaitOne();
Console.WriteLine("EndGetHostEntry({0}) returns:", ioContext.host);
foreach (IPAddress address in ioContext.IPs.AddressList)
{
Console.WriteLine($" {address}");
}
}
' Signals when the resolve has finished.
Dim Shared GetHostEntryFinished As ManualResetEvent = New ManualResetEvent(False)
' Define the state object for the callback.
' Use hostName to correlate calls with the proper result.
Class ResolveState
Dim hostName As String
Dim resolvedIPs As IPHostEntry
Public Sub New(host As String)
hostName = host
End Sub
Public Property IPs AS IPHostEntry
Get
Return resolvedIPs
End Get
Set
resolvedIPs = value
End Set
End Property
Public Property host As String
Get
Return hostName
End Get
Set
hostName = value
End Set
End Property
End Class
' Record the IPs in the state object for later use.
Shared Sub GetHostEntryCallback(ar As IAsyncResult)
Dim ioContext As ResolveState = ar.AsyncState
ioContext.IPs = Dns.EndGetHostEntry(ar)
GetHostEntryFinished.Set()
End Sub
' Determine the Internet Protocol (IP) addresses for
' this host asynchronously.
Shared Sub DoGetHostEntryAsync(hostname As String)
GetHostEntryFinished.Reset()
Dim ioContext As ResolveState = New ResolveState(hostname)
Dns.BeginGetHostEntry(ioContext.host,AddressOf GetHostEntryCallback, ioContext)
' Wait here until the resolve completes (the callback
' calls .Set())
GetHostEntryFinished.WaitOne()
Console.WriteLine($"EndGetHostEntry({ioContext.host}) returns:")
Dim addresses As IPAddress() = ioContext.IPs.AddressList
Dim index As Integer
For index = 0 To addresses.Length - 1
Console.WriteLine($" {addresses(index)}")
Next index
End Sub
Poznámky
Metoda BeginGetHostEntry se dotazuje serveru DNS na IP adresu přidruženou k názvu hostitele nebo IP adrese.
Poznámka Tento člen generuje informace o trasování, když povolíte trasování sítě ve vaší aplikaci. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.
Asynchronní BeginGetHostEntry operace musí být dokončena voláním EndGetHostEntry metody . Obvykle je metoda vyvolána delegátem requestCallback
.
Tato metoda neblokuje, dokud není operace dokončena. Pokud chcete blokovat, dokud se operace dokončí, použijte metodu GetHostEntry .
Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.