FtpWebRequest.EndGetResponse(IAsyncResult) Methode

Definition

Beendet einen ausstehenden Vorgang, der mit BeginGetResponse(AsyncCallback, Object) gestartet wurde.

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

Parameter

asyncResult
IAsyncResult

Das IAsyncResult, das zu Beginn des Vorgangs zurückgegeben wurde.

Gibt zurück

Ein WebResponse-Verweis, der eine FtpWebResponse-Instanz enthält. Dieses Objekt enthält die Antwort des FTP-Servers auf die Anforderung.

Ausnahmen

asyncResult ist null.

asyncResult wurde nicht durch den Aufruf von BeginGetResponse(AsyncCallback, Object) abgerufen.

Diese Methode wurde bereits für den durch asyncResult bezeichneten Vorgang aufgerufen.

Fehler beim Verwenden eines HTTP-Proxys.

Beispiele

Im folgenden Codebeispiel wird das Beenden eines asynchronen Vorgangs zum Abrufen einer Antwort veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels für die FtpWebRequest Klassenübersicht.

// 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();
    }
}

Hinweise

Wenn der Vorgang zum Zeitpunkt des Aufrufs der EndGetResponse Methode noch nicht abgeschlossen wurde, wird blockiert, EndGetResponse bis der Vorgang abgeschlossen ist. Um eine Blockierung zu verhindern, überprüfen Sie die IsCompleted -Eigenschaft, bevor Sie aufrufen EndGetResponse.

Zusätzlich zu den unter "Ausnahmen" EndGetResponse aufgeführten Ausnahmen werden Ausnahmen erneut ausgelöst, die bei der Kommunikation mit dem Server ausgelöst wurden.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung im .NET Framework.

Hinweise für Aufrufer

Diese Methode generiert Netzwerkdatenverkehr.

Gilt für:

Weitere Informationen