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.
Примечания для тех, кто вызывает этот метод
Этот метод создает сетевой трафик.