FtpWebRequest.EndGetResponse(IAsyncResult) Methode

Definition

Beendet einen ausstehenden Vorgang, der mit BeginGetResponse(AsyncCallback, Object) gestartet wurde.Ends a pending asynchronous operation started with 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

Parameter

asyncResult
IAsyncResult

Das IAsyncResult, das zu Beginn des Vorgangs zurückgegeben wurde.The IAsyncResult that was returned when the operation started.

Gibt zurück

Ein WebResponse-Verweis, der eine FtpWebResponse-Instanz enthält.A WebResponse reference that contains an FtpWebResponse instance. Dieses Objekt enthält die Antwort des FTP-Servers auf die Anforderung.This object contains the FTP server's response to the request.

Ausnahmen

asyncResult ist null.asyncResult is null.

asyncResult wurde nicht durch den Aufruf von BeginGetResponse(AsyncCallback, Object) abgerufen.asyncResult was not obtained by calling BeginGetResponse(AsyncCallback, Object).

Diese Methode wurde bereits für den durch asyncResult bezeichneten Vorgang aufgerufen.This method was already called for the operation identified by asyncResult.

Fehler beim Verwenden eines HTTP-Proxys.An error occurred using an HTTP proxy.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein asynchroner Vorgang beendet wird, um eine Antwort zu erhalten.The following code example demonstrates ending an asynchronous operation to get a response. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Übersicht über die FtpWebRequest-Klasse bereitgestellt wird.This code example is part of a larger example provided for the FtpWebRequest class overview.

// 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 zu dem Zeitpunkt, zu dem die EndGetResponse-Methode aufgerufen wird, nicht abgeschlossen wurde, wird EndGetResponse blockiert, bis der Vorgang abgeschlossen ist.If the operation has not completed at the time the EndGetResponse method is called, EndGetResponse blocks until the operation completes. Um das Blockieren zu verhindern, überprüfen Sie die IsCompleted-Eigenschaft, bevor Sie EndGetResponseaufrufenTo prevent blocking, check the IsCompleted property before calling EndGetResponse.

Zusätzlich zu den in "Ausnahmen" notierten Ausnahmen löst EndGetResponse erneut Ausnahmen aus, die bei der Kommunikation mit dem Server ausgelöst wurden.In addition to the exceptions noted in "Exceptions," EndGetResponse rethrows exceptions that were thrown while communicating with the server.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren.This member outputs trace information when you enable network tracing in your application. Weitere Informationen finden Sie unter Netzwerk Ablauf Verfolgung in der .NET Framework.For more information, see Network Tracing in the .NET Framework.

Hinweise für Aufrufer

Diese Methode generiert Netzwerk Datenverkehr.This method generates network traffic.

Gilt für:

Siehe auch