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。
戻り値
FtpWebResponse インスタンスを格納している WebResponse 参照。 このオブジェクトは、要求に対する 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 に記されている例外に加えて、サーバーとの通信中にスローされた例外を再スローします。
Note
このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「 .NET Framework のネットワーク トレース」を参照してください。
注意 (呼び出し元)
この方法では、ネットワーク トラフィックが生成されます。
適用対象
こちらもご覧ください
.NET