Language

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は操作が完了するまでブロックします。 ブロックを防ぐには、IsCompletedを呼び出す前に、EndGetResponse プロパティを確認してください。

「例外」に示されている例外に加えて、 EndGetResponse サーバーとの通信中にスローされた例外を再スローします。

Note

このメンバーは、アプリケーションでネットワーク トレースを有効にすると、トレース情報を出力します。 詳細については、「.NET Framework の Network Tracingを参照してください。

注意 (呼び出し元)

この方法では、ネットワーク トラフィックが生成されます。

適用対象

こちらもご覧ください