System.Net.HttpClient.THTTPClient.InternalExecuteAsync
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);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | protected | System.Net.HttpClient.pas System.Net.HTTPClient.hpp |
System.Net.HttpClient | THTTPClient |
説明
非同期 HTTP リクエストを開始します。
InternalExecuteAsync を呼び出す際、HTTP リクエストを実行するのに必要なデータを提供しなければなりません:
AsyncCallback
は、レスポンスが受け取られたとき、またはリクエストが失敗した際に呼び出されるコールバック プロシージャです。AsyncCallbackEvent
はイベント ハンドラで、レスポンスが受けたられたとき呼び出され、AsyncCallback
が nil の際にはリクエストは失敗します。ARequest
は、送信する HTTP リクエスト メソッドです。AContentStream
は、レスポンスに含まれるデータを保持するストリームです。AHeaders
は、リクエストに含まれるヘッダーのリストです。AOwnsSourceStream
は、ASourceStream
が、リクエストが登録された際に解放されるべきか(True
)、否か(False
)を決定します。
InternalExecuteAsync は、非同期にレスポンス データの設定を開始する、非同期結果オブジェクトを返します。
すべてのレスポンス データが非同期結果オブジェクトに受け取られると、コールバック関数またはイベント ハンドラが呼び出され、対応する非同期結果オブジェクトがパラメータとして提供されます。
オペレーションが正常終了したかを確認するために、EndAsyncHTTP をターゲットの非同期結果オブジェクトをパラメータにして呼び出します。リクエストの間に問題があった場合(タイムアウトなど)、EndAsyncHTTP
は例外を発生させます。
通常は、EndAsyncHTTP
を、レスポンス データがすでに受信されていることがわかっている、コールバック関数またはイベント ハンドラの中から呼び出します。 しかし、実際には EndAsyncHTTP
をどのタイミングでも呼び出すことができ、プログラムの実行をレスポンス データが受信されるまで止め、効果的に、非同期リクエストを同期リクエストに変えることができます。
BeginExecute および DoExecuteAsync は、InternalExecuteAsync を呼び出します。