FtpWebRequest.EndGetResponse(IAsyncResult) Méthode

Définition

Met fin à une opération asynchrone en attente commencée avec 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

Paramètres

asyncResult
IAsyncResult

Élément IAsyncResult retourné lors du démarrage de l'opération.

Retours

Référence WebResponse qui contient une instance de FtpWebResponse. Cet objet contient la réponse du serveur FTP à la demande.

Exceptions

asyncResult a la valeur null.

asyncResult n'a pas été obtenu en appelant BeginGetResponse(AsyncCallback, Object).

Cette méthode a déjà été appelée pour l'opération identifiée par asyncResult.

Une erreur s'est produite lors de l'utilisation d'un proxy HTTP.

Exemples

L’exemple de code suivant illustre la fin d’une opération asynchrone pour obtenir une réponse. Cet exemple de code fait partie d’un exemple plus large fourni pour la vue d’ensemble de la FtpWebRequest classe.

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

Remarques

Si l’opération n’est pas terminée au moment où la EndGetResponse méthode est appelée, EndGetResponse bloque jusqu’à ce que l’opération se termine. Pour éviter le blocage, case activée la propriété avant d’appeler IsCompletedEndGetResponse.

En plus des exceptions indiquées dans « Exceptions », EndGetResponse les exceptions levées lors de la communication avec le serveur sont réinscrites.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

Notes pour les appelants

Cette méthode génère du trafic réseau.

S’applique à

Voir aussi