FtpWebRequest.EndGetResponse(IAsyncResult) Метод

Определение

Завершает ожидающие асинхронные операции, запущенные с 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.

asyncResult не был получен путем вызова BeginGetResponse(AsyncCallback, Object).

Этот метод уже был вызван для операции, определяемой asyncResult.

Произошла ошибка с использованием прокси-сервера HTTP.

Примеры

В следующем примере кода показано завершение асинхронной операции для получения ответа. Этот пример кода является частью более крупного примера, предоставленного для FtpWebRequest обзора класса.

// 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 блокируется до завершения операции. Чтобы предотвратить блокировку, проверьте свойство перед вызовом IsCompletedEndGetResponse.

Помимо исключений, отмеченных в разделе "Исключения" EndGetResponse , повторно создаются исключения, которые были созданы при взаимодействии с сервером.

Замечание

Этот элемент выводит сведения о трассировке при включении трассировки сети в приложении. Дополнительные сведения см. в разделе "Трассировка сети" в .NET Framework.

Примечания для тех, кто вызывает этот метод

Этот метод создает сетевой трафик.

Применяется к

См. также раздел