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): 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:
AsyncCallbackist eine Callback-Prozedur, die aufgerufen werden muss, wenn eine Antwort empfangen wird oder die Anforderung fehlschlägt.AsyncCallbackEventist eine Ereignisbehandlungsroutine, die aufgerufen werden muss, wenn eine Antwort empfangen wird, oder eine Anforderung fehlschlägt, wennAsyncCallbacknil ist.ARequestMethodist ein String, der die zu verwendende Anforderungsmethode definiert. Mögliche Anforderungsmethoden hängen vom Protokoll ab.AURIist eine URI, die die Position der Ressource identifiziert, die Sie anfordern.ASourceStreamist ein Stream von Daten, um eine Anforderung bereitzustellen.AContentStreamist ein Stream, um die Daten aufzunehmen, die in der Antwort enthalten sind.AHeadersist eine Liste der Header, die in die Anforderung einbezogen werden sollen.AOwnsSourceStreamlegt fest, obASourceStreamausgelö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.