Dns.BeginGetHostEntry Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Secara asinkron menyelesaikan nama host atau alamat IP ke IPHostEntry instans.
Overload
BeginGetHostEntry(IPAddress, AsyncCallback, Object) |
Secara asinkron menyelesaikan alamat IP ke IPHostEntry instans. |
BeginGetHostEntry(String, AsyncCallback, Object) |
Secara asinkron menyelesaikan nama host atau alamat IP ke IPHostEntry instans. |
BeginGetHostEntry(IPAddress, AsyncCallback, Object)
- Sumber:
- Dns.cs
- Sumber:
- Dns.cs
- Sumber:
- Dns.cs
Secara asinkron menyelesaikan alamat IP ke IPHostEntry instans.
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
Parameter
- address
- IPAddress
Alamat IP yang akan diatasi.
- requestCallback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode yang akan dipanggil saat operasi selesai.
- stateObject
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi. Objek ini diteruskan ke requestCallback
delegasi ketika operasi selesai.
Mengembalikan
Instans IAsyncResult yang mereferensikan permintaan asinkron.
Pengecualian
address
adalah null
.
Terjadi kesalahan saat menyelesaikan address
.
address
adalah alamat IP yang tidak valid.
Contoh
Contoh kode berikut menggunakan BeginGetHostEntry metode untuk menyelesaikan alamat IP ke IPHostEntry instans.
// 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
Keterangan
Metode ini BeginGetHostEntry secara asinkron meminta server DNS untuk alamat IP dan alias yang terkait dengan alamat IP.
Catatan Anggota ini memancarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Operasi asinkron BeginGetHostEntry harus diselesaikan dengan memanggil EndGetHostEntry metode . Biasanya, metode ini dipanggil oleh requestCallback
delegasi.
Metode ini tidak memblokir sampai operasi selesai. Untuk memblokir hingga operasi selesai, gunakan GetHostEntry metode .
Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron
Berlaku untuk
BeginGetHostEntry(String, AsyncCallback, Object)
- Sumber:
- Dns.cs
- Sumber:
- Dns.cs
- Sumber:
- Dns.cs
Secara asinkron menyelesaikan nama host atau alamat IP ke IPHostEntry instans.
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
Parameter
- hostNameOrAddress
- String
Nama host atau alamat IP yang akan diatasi.
- requestCallback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode yang akan dipanggil saat operasi selesai.
- stateObject
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi. Objek ini diteruskan ke requestCallback
delegasi ketika operasi selesai.
Mengembalikan
Instans IAsyncResult yang mereferensikan permintaan asinkron.
Pengecualian
hostNameOrAddress
adalah null
.
Panjangnya hostNameOrAddress
lebih besar dari 255 karakter.
Terjadi kesalahan saat menyelesaikan hostNameOrAddress
.
hostNameOrAddress
adalah alamat IP yang tidak valid.
Contoh
Contoh kode berikut menggunakan BeginGetHostEntry metode untuk menyelesaikan alamat IP ke IPHostEntry instans.
// 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
Keterangan
Metode ini BeginGetHostEntry meminta server DNS untuk alamat IP yang terkait dengan nama host atau alamat IP.
Catatan Anggota ini memancarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Operasi asinkron BeginGetHostEntry harus diselesaikan dengan memanggil EndGetHostEntry metode . Biasanya, metode ini dipanggil oleh requestCallback
delegasi.
Metode ini tidak memblokir sampai operasi selesai. Untuk memblokir hingga operasi selesai, gunakan GetHostEntry metode .
Untuk informasi mendetail tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron.