Прочитать на английском

Поделиться через


FtpWebRequest.EndGetResponse(IAsyncResult) Метод

Определение

Завершает асинхронную операцию в очереди, начинавшуюся с BeginGetResponse(AsyncCallback, Object).

C#
public override System.Net.WebResponse EndGetResponse(IAsyncResult asyncResult);

Параметры

asyncResult
IAsyncResult

Объект IAsyncResult, который был возвращен в начале операции.

Возвращаемое значение

Ссылка WebResponse, которая содержит экземпляр FtpWebResponse. Этот объект содержит ответ FTP-сервера на запрос.

Исключения

asyncResult имеет значение null.

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

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

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

Примеры

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

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

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

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.

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

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

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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