Dns.BeginResolve(String, AsyncCallback, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202
주의
BeginResolve has been deprecated. Use BeginGetHostEntry instead.
주의
BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202
DNS 호스트 이름 또는 IP 주소를 IPAddress 인스턴스로 확인하기 위한 비동기 요청을 시작합니다.
public:
static IAsyncResult ^ BeginResolve(System::String ^ hostName, AsyncCallback ^ requestCallback, System::Object ^ stateObject);
[System.Obsolete("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);
[System.Obsolete("BeginResolve has been deprecated. Use BeginGetHostEntry instead.")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback? requestCallback, object? stateObject);
[System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback requestCallback, object stateObject);
[System.Obsolete("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);
public static IAsyncResult BeginResolve (string hostName, AsyncCallback requestCallback, object stateObject);
[<System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
[<System.Obsolete("BeginResolve has been deprecated. Use BeginGetHostEntry instead.")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
[<System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (hostName As String, requestCallback As AsyncCallback, stateObject As Object) As IAsyncResult
매개 변수
- hostName
- String
호스트의 DNS 이름입니다.
- requestCallback
- AsyncCallback
작업이 완료되었을 때 호출할 메서드를 참조하는 AsyncCallback 대리자입니다.
- stateObject
- Object
작업에 대한 정보가 들어 있는 사용자 정의 개체입니다. 이 개체는 작업이 완료되면 requestCallback
대리자에게 전달됩니다.
반환
비동기 요청을 참조하는 IAsyncResult 인스턴스입니다.
- 특성
예외
hostName
이(가) null
인 경우
호출자에게 DNS 정보에 액세스할 권한이 없는 경우
예제
다음 예제에서는 를 사용하여 BeginResolve DNS 호스트 이름을 로 확인합니다 IPAddress.
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;
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);
}
}
}
Class DnsBeginGetHostByName
Class RequestState
Public host As IPHostEntry
Public Sub New()
host = Nothing
End Sub
End Class
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
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
설명
메서드를 호출 EndResolve 하여 비동 BeginResolve 기 작업을 완료해야 합니다. 일반적으로 메서드는 대리자에서 호출됩니다 requestCallback
.
이 메서드는 작업이 완료될 때까지 차단되지 않습니다. 작업이 완료될 때까지 차단하려면 메서드를 Resolve 사용합니다.
비동기 프로그래밍 모델 사용에 대한 자세한 내용은 동기 메서드 비동기 호출을 참조하세요.
참고
이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.
적용 대상
추가 정보
.NET