Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
HINWEIS: Diese Methode ist mittlerweile veraltet.
Beginnt eine asynchrone Anforderung zum Auflösen eines DNS-Hostnamens oder einer IP-Adresse in eine IPAddress-Instanz.
Namespace: System.Net
Assembly: System (in system.dll)
Syntax
'Declaration
<ObsoleteAttribute("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")> _
Public Shared Function BeginResolve ( _
hostName As String, _
requestCallback As AsyncCallback, _
stateObject As Object _
) As IAsyncResult
'Usage
Dim hostName As String
Dim requestCallback As AsyncCallback
Dim stateObject As Object
Dim returnValue As IAsyncResult
returnValue = Dns.BeginResolve(hostName, requestCallback, stateObject)
[ObsoleteAttribute("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static IAsyncResult BeginResolve (
string hostName,
AsyncCallback requestCallback,
Object stateObject
)
[ObsoleteAttribute(L"BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public:
static IAsyncResult^ BeginResolve (
String^ hostName,
AsyncCallback^ requestCallback,
Object^ stateObject
)
/** @attribute ObsoleteAttribute("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202") */
public static IAsyncResult BeginResolve (
String hostName,
AsyncCallback requestCallback,
Object stateObject
)
ObsoleteAttribute("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")
public static function BeginResolve (
hostName : String,
requestCallback : AsyncCallback,
stateObject : Object
) : IAsyncResult
Parameter
- hostName
Der DNS-Name des Hosts.
- requestCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die aufgerufen wird, wenn der Vorgang abgeschlossen wurde.
- stateObject
Ein benutzerdefiniertes Objekt, das Informationen zum Vorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den requestCallback-Delegaten übergeben.
Rückgabewert
Eine IAsyncResult-Instanz, die auf die asynchrone Anforderung verweist.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
hostName ist NULL (Nothing in Visual Basic). |
|
Der Aufrufer besitzt keine Zugriffsberechtigungen für DNS-Informationen. |
Hinweise
Der asynchrone BeginResolve-Vorgang muss durch Aufrufen der EndResolve-Methode abgeschlossen werden. Normalerweise wird die Methode vom requestCallback-Delegaten aufgerufen.
Diese Methode wird erst blockiert, wenn der Vorgang abgeschlossen ist. Wenn Sie die Methode bis zum Abschluss des Vorgangs blockieren möchten, verwenden Sie die Resolve-Methode.
Weitere Informationen über die Verwendung des asynchronen Programmiermodells finden Sie unter Asynchrones Aufrufen von synchronen Methoden.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung.
Beispiel
Im folgenden Beispiel wird ein BeginResolve zum Auflösen eines DNS-Hostnamens in eine IPAddress verwendet.
Class DnsBeginGetHostByName
Class RequestState
Public host As IPHostEntry
Public Sub New()
host = Nothing
End Sub 'New
End Class 'RequestState
Public Shared Sub Main()
Try
' Create an instance of the RequestState class.
Dim myRequestState As New RequestState()
' Begin an asynchronous request for information such as the host name, IP addresses,
' or aliases for the specified URI.
Dim asyncResult As IAsyncResult = CType(Dns.BeginResolve("www.contoso.com", AddressOf RespCallback, myRequestState),IAsyncResult)
' Wait until asynchronous call completes.
While asyncResult.IsCompleted <> True
End While
Console.WriteLine(("Host name : " + myRequestState.host.HostName))
Console.WriteLine(ControlChars.Cr + "IP address list : ")
Dim index As Integer
For index = 0 To myRequestState.host.AddressList.Length - 1
Console.WriteLine(myRequestState.host.AddressList(index))
Next index
Console.WriteLine(ControlChars.Cr + "Aliases : ")
For index = 0 To myRequestState.host.Aliases.Length - 1
Console.WriteLine(myRequestState.host.Aliases(index))
Next index
catch e as Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
End Try
End Sub 'Main
Private Shared Sub RespCallback(ar As IAsyncResult)
Try
' Convert the IAsyncResult object to a RequestState object.
Dim tempRequestState As RequestState = CType(ar.AsyncState, RequestState)
' End the asynchronous request.
tempRequestState.host = Dns.EndResolve(ar)
Catch e As ArgumentNullException
Console.WriteLine("ArgumentNullException caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
End Try
End Sub 'RespCallback
class DnsBeginGetHostByName
{
public static System.Threading.ManualResetEvent allDone = null;
class RequestState
{
public IPHostEntry host;
public RequestState()
{
host = null;
}
}
public static void Main()
{
allDone = new ManualResetEvent(false);
// Create an instance of the RequestState class.
RequestState myRequestState = new RequestState();
// Begin an asynchronous request for information like host name, IP addresses, or
// aliases for specified the specified URI.
IAsyncResult asyncResult = Dns.BeginResolve("www.contoso.com", new AsyncCallback(RespCallback), myRequestState );
// Wait until asynchronous call completes.
allDone.WaitOne();
Console.WriteLine("Host name : " + myRequestState.host.HostName);
Console.WriteLine("\nIP address list : ");
for(int index=0; index < myRequestState.host.AddressList.Length; index++)
{
Console.WriteLine(myRequestState.host.AddressList[index]);
}
Console.WriteLine("\nAliases : ");
for(int index=0; index < myRequestState.host.Aliases.Length; index++)
{
Console.WriteLine(myRequestState.host.Aliases[index]);
}
}
private static void RespCallback(IAsyncResult ar)
{
try
{
// Convert the IAsyncResult object to a RequestState object.
RequestState tempRequestState = (RequestState)ar.AsyncState;
// End the asynchronous request.
tempRequestState.host = Dns.EndResolve(ar);
allDone.Set();
}
catch(ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
}
public ref class DnsBeginGetHostByName
{
public:
static System::Threading::ManualResetEvent^ allDone = nullptr;
ref class RequestState
{
public:
IPHostEntry^ host;
RequestState()
{
host = nullptr;
}
};
static void RespCallback( IAsyncResult^ ar )
{
try
{
// Convert the IAsyncResult* Object* to a RequestState Object*.
RequestState^ tempRequestState = dynamic_cast<RequestState^>(ar->AsyncState);
// End the asynchronous request.
tempRequestState->host = Dns::EndResolve( ar );
allDone->Set();
}
catch ( ArgumentNullException^ e )
{
Console::WriteLine( "ArgumentNullException caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
}
};
int main()
{
DnsBeginGetHostByName::allDone = gcnew ManualResetEvent( false );
// Create an instance of the RequestState class.
DnsBeginGetHostByName::RequestState^ myRequestState =
gcnew DnsBeginGetHostByName::RequestState;
// Begin an asynchronous request for information like host name, IP addresses, or
// aliases for specified the specified URI.
IAsyncResult^ asyncResult = Dns::BeginResolve( "www.contoso.com",
gcnew AsyncCallback( DnsBeginGetHostByName::RespCallback ), myRequestState );
// Wait until asynchronous call completes.
DnsBeginGetHostByName::allDone->WaitOne();
Console::WriteLine( "Host name : {0}", myRequestState->host->HostName );
Console::WriteLine( "\nIP address list : " );
for ( int index = 0; index < myRequestState->host->AddressList->Length; index++ )
Console::WriteLine( myRequestState->host->AddressList[ index ] );
Console::WriteLine( "\nAliases : " );
for ( int index = 0; index < myRequestState->host->Aliases->Length; index++ )
Console::WriteLine( myRequestState->host->Aliases[ index ] );
}
class DnsBeginGetHostByName
{
public static System.Threading.ManualResetEvent allDone = null;
static class RequestState
{
public IPHostEntry host;
public RequestState()
{
host = null;
} //RequestState
} //RequestState
public static void main(String[] args)
{
allDone = new ManualResetEvent(false);
// Create an instance of the RequestState class.
RequestState myRequestState = new DnsBeginGetHostByName.
RequestState();
// Begin an asynchronous request for information like
// host name, IP addresses, or
// aliases for specified the specified URI.
IAsyncResult asyncResult = Dns.BeginResolve("www.contoso.com",
new AsyncCallback(RespCallback), myRequestState);
// Wait until asynchronous call completes.
allDone.WaitOne();
Console.WriteLine("Host name : " + myRequestState.host.get_HostName());
Console.WriteLine("\nIP address list : ");
for (int index = 0; index < myRequestState.host.
get_AddressList().length; index++) {
Console.WriteLine(myRequestState.host.get_AddressList().
get_Item(index));
}
Console.WriteLine("\nAliases : ");
for (int index = 0; index < myRequestState.host.get_Aliases().
length; index++) {
Console.WriteLine(myRequestState.host.get_Aliases().
get_Item(index));
}
} //main
private static void RespCallback(IAsyncResult ar)
{
try {
// Convert the IAsyncResult object to a RequestState object.
RequestState tempRequestState = (RequestState)ar.get_AsyncState();
// End the asynchronous request.
tempRequestState.host = Dns.EndResolve(ar);
allDone.Set();
}
catch (ArgumentNullException e) {
Console.WriteLine("ArgumentNullException caught!!!");
Console.WriteLine("Source : " + e.get_Source());
Console.WriteLine("Message : " + e.get_Message());
}
catch (System.Exception e) {
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.get_Source());
Console.WriteLine("Message : " + e.get_Message());
}
} //RespCallback
} //DnsBeginGetHostByName
.NET Framework-Sicherheit
- DnsPermission für den Zugriff auf DNS-Informationen. Zugeordnete Enumeration: PermissionState.Unrestricted
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 1.0, 1.1
Veraltet (Compilerwarnung) in 2.0
.NET Compact Framework
Unterstützt in: 1.0
Veraltet (Compilerwarnung) in 2.0
Siehe auch
Referenz
Dns-Klasse
Dns-Member
System.Net-Namespace
Weitere Ressourcen
Asynchronous Calls