System.Net.URLClient.TURLClient.DoExecuteAsync

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function protected
System.Net.URLClient.pas
System.Net.URLClient.hpp
System.Net.URLClient TURLClient


Beschreibung

Hinweis: Unterklassen von TURLClient müssen ihre eigenen Implementierungen von DoExecuteAsync bereitstellen, das wie unten beschrieben ausgeführt werden sollte. Wenn Sie TURLClient.DoExecuteAsync aufrufen, wird eine ENetURIClientException-Exception ausgelöst.

Beginnt eine asynchrone URL-Anforderung.

Wenn Sie DoExecuteAsync aufrufen, müssen Sie die Daten, die zur Ausführung Ihrer URL-Anforderung benötigt werden, 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.
  • ARequestMethod ist ein String, der die zu verwendende Anforderungsmethode definiert. Mögliche Anforderungsmethoden hängen vom Protokoll ab.
  • AURI ist eine URI, die die Position der Ressource identifiziert, die Sie anfordern.
  • ASourceStream ist ein Stream von Daten, um eine Anforderung bereitzustellen.
  • 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).

DoExecuteAsync 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 EndAsyncURL mit dem asynchronen Ziel-Ergebnisobjekt als Parameter auf, um sicherzustellen, dass die Operation erfolgreich war; EndAsyncURL löst eine Exception aus, wenn während der Anforderung ein Problem auftritt, wie z. B. eine Zeitüberschreitung.

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

BeginExecute ruft DoExecuteAsync auf.

Siehe auch