FtpWebRequest.EndGetResponse(IAsyncResult) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
BeginGetResponse(AsyncCallback, Object)으로 시작된 보류 중인 비동기 작업을 종료합니다.
public:
override System::Net::WebResponse ^ EndGetResponse(IAsyncResult ^ asyncResult);
public override System.Net.WebResponse EndGetResponse (IAsyncResult asyncResult);
override this.EndGetResponse : IAsyncResult -> System.Net.WebResponse
Public Overrides Function EndGetResponse (asyncResult As IAsyncResult) As WebResponse
매개 변수
- asyncResult
- IAsyncResult
작업이 시작될 때 반환된 IAsyncResult입니다.
반환
WebResponse 인스턴스가 들어 있는 FtpWebResponse 참조입니다. 이 개체에는 요청에 대한 FTP 서버의 응답이 들어 있습니다.
예외
asyncResult
이(가) null
인 경우
BeginGetResponse(AsyncCallback, Object)을 호출하여 asyncResult
를 가져오지 못한 경우
asyncResult
로 식별된 작업에 대해 이 메서드가 이미 호출된 경우
HTTP 프록시를 사용하는 동안 오류가 발생했습니다.
예제
다음 코드 예제에서는 응답을 가져오기 위해 비동기 작업을 종료하는 방법을 보여 줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 FtpWebRequest 클래스 개요입니다.
// The EndGetResponseCallback method
// completes a call to BeginGetResponse.
static void EndGetResponseCallback( IAsyncResult^ ar )
{
FtpState^ state = dynamic_cast<FtpState^>(ar->AsyncState);
FtpWebResponse ^ response = nullptr;
try
{
response = dynamic_cast<FtpWebResponse^>(state->Request->EndGetResponse( ar ));
response->Close();
state->StatusDescription = response->StatusDescription;
// Signal the main application thread that
// the operation is complete.
state->OperationComplete->Set();
}
// Return exceptions to the main application thread.
catch ( Exception^ e )
{
Console::WriteLine( "Error getting response." );
state->OperationException = e;
state->OperationComplete->Set();
}
}
// The EndGetResponseCallback method
// completes a call to BeginGetResponse.
private static void EndGetResponseCallback(IAsyncResult ar)
{
FtpState state = (FtpState) ar.AsyncState;
FtpWebResponse response = null;
try
{
response = (FtpWebResponse) state.Request.EndGetResponse(ar);
response.Close();
state.StatusDescription = response.StatusDescription;
// Signal the main application thread that
// the operation is complete.
state.OperationComplete.Set();
}
// Return exceptions to the main application thread.
catch (Exception e)
{
Console.WriteLine ("Error getting response.");
state.OperationException = e;
state.OperationComplete.Set();
}
}
설명
메서드가 호출 EndGetResponse 될 때 EndGetResponse 작업이 완료되지 않은 경우 작업이 완료될 때까지 차단합니다. 차단을 방지하려면 를 호출EndGetResponse하기 전에 속성을 확인 IsCompleted 합니다.
"예외" EndGetResponse 에 명시된 예외 외에도 서버와 통신하는 동안 throw된 예외를 다시 throw합니다.
참고
애플리케이션에 네트워크 추적을 사용하도록 설정하면 이 멤버에서 추적 정보를 출력합니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.
호출자 참고
이 메서드는 네트워크 트래픽을 생성합니다.
적용 대상
추가 정보
.NET