System.Net.HttpClient.THTTPClient.InternalExecuteAsync

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function protected
System.Net.HttpClient.pas
System.Net.HTTPClient.hpp
System.Net.HttpClient THTTPClient


Beschreibung

Beginnt eine asynchrone HTTP-Anforderung.

Wenn Sie InternalExecuteAsync aufrufen, müssen Sie die Daten, die zur Ausführung der HTTP-Anforderung erforderlich sind, bereitstellen:

  • AsyncCallback ist eine Callback-Prozedur, die aufgerufen werden muss, wenn eine Antwort empfangen wird oder die Anforderung fehlschlägt.
  • AsyncCallbackEvent ist eine Ereignisbehandlungsroutine, die aufgerufen werden muss, wenn eine Antwort empfangen wird, oder eine Anforderung fehlschlägt, wenn AsyncCallback nil ist.
  • ARequest ist die HTTP-Anforderungsmethode, die gesendet werden soll.
  • AContentStream ist ein Stream, um die Daten aufzunehmen, die in der Antwort enthalten sind.
  • AHeaders ist eine Liste der Header, die in die Anforderung einbezogen werden sollen.
  • AOwnsSourceStream legt fest, ob ASourceStream ausgelöst werden sollte, wenn eine Anforderung übermittelt wurde (True) oder nicht (False).

InternalExecuteAsync gibt ein asynchrones Ergebnisobjekt zurück, das asynchron mit den Antwortdaten gefüllt wird.

Wenn alle Antwortdaten im Antwortobjekt empfangen werden, wird die Callback-Funktion oder Ereignisbehandlungsroutine aufgerufen und stellt das entsprechende Antwortobjekt als Parameter bereit.

Rufen Sie EndAsyncHTTP mit dem asynchronen Ziel-Ergebnisobjekt als Parameter auf, um sicherzustellen, dass die Operation erfolgreich war; EndAsyncHTTP löst eine Exception aus, wenn während der Anforderung ein Problem auftritt, wie z. B. eine Zeitüberschreitung.

Sie rufen normalerweise EndAsyncHTTP in der Callback-Funktion oder Ereignisbehandlungsroutine auf, wenn Sie wissen, dass die Antwortdaten bereits empfangen wurden. Sie können jedoch zu jeder Zeit EndAsyncHTTP aufrufen, wodurch die Programmausführung solange angehalten wird, bis die Antwortdaten empfangen wurden, indem die asynchrone Anforderung in eine synchrone Anforderung umgewandelt wird.

BeginExecute und DoExecuteAsync rufen InternalExecuteAsync auf.

Siehe auch