FtpWebRequest.EndGetResponse(IAsyncResult) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 se bloque jusqu’à ce que l’opération se termine. Pour éviter le blocage, vérifiez la IsCompleted propriété avant d’appeler EndGetResponse.
En plus des exceptions indiquées dans « Exceptions », EndGetResponse les exceptions qui ont été levées lors de la communication avec le serveur se ressaisient.
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 le .NET Framework.
Notes pour les appelants
Cette méthode génère du trafic réseau.