System.Net.URLClient.TURLClient.DoExecuteAsync
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): IURLResponse; virtual;
C++
virtual _di_IURLResponse __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, wennAsyncCallback
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, obASourceStream
ausgelöst werden sollte, wenn eine Anforderung übermittelt wurde (True
) oder nicht (False
).
DoExecuteAsync gibt ein Antwortobjekt zurück, das beginnt, asynchron mit den Antwortdaten gefüllt zu werden.
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 Ziel-Antwortobjekt als einen Parameter auf, um sicherzustellen, dass die Operation erfolgreich war; EndAsyncURL
löst eine Exception aus, wenn während der Anforderung ein Problem aufgetreten ist, 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.