System.Net.HttpClient.THTTPClient.InternalExecuteAsync

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function InternalExecuteAsync(const AsyncCallback: TAsyncCallback; const AsyncCallbackEvent: TAsyncCallbackEvent;
const ARequest: IHTTPRequest; const AContentStream: TStream;
const AHeaders: TNetHeaders; AOwnsSourceStream: Boolean): IAsyncResult;

C++

System::Types::_di_IAsyncResult __fastcall InternalExecuteAsync(const System::Classes::_di_TAsyncCallback AsyncCallback, const System::Classes::TAsyncProcedureEvent AsyncCallbackEvent, const _di_IHTTPRequest ARequest, System::Classes::TStream* const AContentStream, const System::DynamicArray<System::Net::Urlclient::TNameValuePair> AHeaders, bool AOwnsSourceStream);

Propriétés

Type Visibilité  Source Unité  Parent
function protected
System.Net.HttpClient.pas
System.Net.HTTPClient.hpp
System.Net.HttpClient THTTPClient


Description

Démarre une requête HTTP asynchrone.

Lorsque vous appelez InternalExecuteAsync, vous devez fournir les données requises pour effectuer votre requête HTTP :

  • AsyncCallback est une procédure callback à appeler lorsqu'une réponse est reçue ou que la requête échoue.
  • AsyncCallbackEvent est un gestionnaire d'événement à appeler lorsqu'une réponse est reçue ou que la requête échoue si AsyncCallback vaut nil.
  • ARequest est la méthode de requête HTTP à envoyer.
  • AContentStream est un flux permettant de contenir les données incluses dans la réponse.
  • AHeaders est une liste d'en-têtes à inclure dans la requête.
  • AOwnsSourceStream détermine si ASourceStream doit être libéré lors de la soumission de la requête (True) ou non (False).

InternalExecuteAsync renvoie un objet de résultat asynchrone qui se remplit avec les données de la réponse de façon asynchrone.

Quand toutes les données de la réponse sont reçues dans l'objet réponse, la fonction callback ou le gestionnaire d'événement sont appelés et fournissent l'objet réponse correspondant en tant que paramètre.

Appelez EndAsyncHTTP avec l'objet de résultat asynchrone cible en tant que paramètre pour garantir que l'opération a réussi ; EndAsyncHTTP déclenche une exception en cas de problème durant la requête, tel qu'un délai d'expiration.

D'ordinaire, vous pouvez appeler EndAsyncHTTP à l'intérieur de la fonction callback ou du gestionnaire d'événement, là où l'on sait que les données de la réponse ont déjà été reçues. Cependant, vous pouvez appeler EndAsyncHTTP à n'importe quel moment, ce qui arrête l'exécution du programme jusqu'à la réception des données de la réponse, transformant en réalité la requête asynchrone en requête synchrone.

BeginExecute et DoExecuteAsync appellent InternalExecuteAsync.

Voir aussi