System.Net.URLClient.TURLClient.DoExecuteAsync

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

function DoExecuteAsync(const AsyncCallback: TAsyncCallback; const AsyncCallbackEvent: TAsyncCallbackEvent; const ARequestMethod: string; const AURI: TURI;  const ASourceStream, AContentStream: TStream; const AHeaders: TNetHeaders; AOwnsSourceStream: Boolean = False): IAsyncResult; virtual;

C++

virtual System::Types::_di_IAsyncResult __fastcall DoExecuteAsync(const System::Classes::_di_TAsyncCallback AsyncCallback, const System::Classes::TAsyncProcedureEvent AsyncCallbackEvent, const System::UnicodeString ARequestMethod, const TURI &AURI, System::Classes::TStream* const ASourceStream, System::Classes::TStream* const AContentStream, const System::DynamicArray<TNameValuePair> AHeaders, bool AOwnsSourceStream = false);

Propriétés

Type Visibilité  Source Unité  Parent
function protected
System.Net.URLClient.pas
System.Net.URLClient.hpp
System.Net.URLClient TURLClient


Description

Remarque : Les sous-classes de TURLClient doivent fournir leur propre implémentation de DoExecuteAsync, qui doit fonctionner de la manière décrite ci-dessous. Lorsque vous appelez TURLClient.DoExecuteAsync, cela déclenche une exception ENetURIClientException.

Démarre une requête URL asynchrone.

Lorsque vous appelez TURLClient.DoExecuteAsync, vous devez fournir les données nécessaires à l'exécution de votre requête URL :

  • AsyncCallback est une procédure de rappel à 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.
  • ARequestMethod est une chaîne qui définit la méthode de requête à utiliser. Les méthodes de requête possibles dépendent du protocole.
  • AURI est un URI qui identifie l'emplacement de la ressource que vous demandez.
  • ASourceStream est un flux de données à fournir dans la requête.
  • 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).

DoExecuteAsync 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 de réponse, la fonction de rappel ou le gestionnaire d'événement sont appelés et fournissent l'objet de réponse correspondant comme paramètre.

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

D'ordinaire, vous appelez EndAsyncURL à l'intérieur de la fonction de rappel 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 EndAsyncURL à n'importe quel moment, ce qui arrête l'exécution du programme jusqu'à réception des données de la réponse, transformant en réalité la requête asynchrone en requête synchrone.

BeginExecute appelle DoExecuteAsync.

Voir aussi