HttpClient.SendAsync 方法

定義

以非同步操作方式發送 HTTP 請求。

多載

名稱 Description
SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

以非同步操作方式發送 HTTP 請求。

SendAsync(HttpRequestMessage)

以非同步操作方式發送 HTTP 請求。

SendAsync(HttpRequestMessage, HttpCompletionOption)

以非同步操作方式發送 HTTP 請求。

SendAsync(HttpRequestMessage, CancellationToken)

以非同步操作方式發送 HTTP 請求。

備註

這個操作不會阻擋。

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

以非同步操作方式發送 HTTP 請求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Net::Http::HttpCompletionOption completionOption, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Net.Http.HttpCompletionOption * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)

參數

request
HttpRequestMessage

HTTP 請求訊息要發送。

completionOption
HttpCompletionOption

操作應該在何時完成(當有回應可用時,或在閱讀完整回應內容後)。

cancellationToken
CancellationToken

取消令牌用於取消操作。

傳回

表示異步操作的工作物件。

例外狀況

requestnull

請求訊息已經由實例發送 HttpClient 了。

請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示

-或-

僅限 .NET Framework 使用:請求已逾時。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

-或-

僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。

備註

這個操作不會阻擋。 根據參數 completionOption 值的不同,回傳 Task<TResult> 的物件會在回應可用或完整回應(包含內容)被讀取時立即完成。

Note

若逾時,會對不同的 .NET 實作拋出不同的例外。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Send(HttpRequestMessage, HttpCompletionOption)拋出的例外。

適用於

SendAsync(HttpRequestMessage)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

以非同步操作方式發送 HTTP 請求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request);
override this.SendAsync : System.Net.Http.HttpRequestMessage -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage) As Task(Of HttpResponseMessage)

參數

request
HttpRequestMessage

HTTP 請求訊息要發送。

傳回

表示異步操作的工作物件。

例外狀況

requestnull

請求訊息已經由實例發送 HttpClient 了。

請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示

-或-

僅限 .NET 框架:請求已逾時。

僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。

備註

這個操作不會阻擋。 回傳 Task<TResult> 物件在完整回應(包括內容)被讀取後才會完成。 行為與明確指定相同 ResponseContentRead

Note

若逾時,會對不同的 .NET 實作拋出不同的例外。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Send(HttpRequestMessage)拋出的例外。

適用於

SendAsync(HttpRequestMessage, HttpCompletionOption)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

以非同步操作方式發送 HTTP 請求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Net::Http::HttpCompletionOption completionOption);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Net.Http.HttpCompletionOption -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As Task(Of HttpResponseMessage)

參數

request
HttpRequestMessage

HTTP 請求訊息要發送。

completionOption
HttpCompletionOption

操作應該在何時完成(當有回應可用時,或在閱讀完整回應內容後)。

傳回

表示異步操作的工作物件。

例外狀況

requestnull

請求訊息已經由實例發送 HttpClient 了。

請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示

-或-

僅限 .NET 框架:請求已逾時。

僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。

備註

這個操作不會阻擋。 根據參數 completionOption 值的不同,回傳 Task<TResult> 的物件會在回應可用或完整回應(包含內容)被讀取時立即完成。

Note

若逾時,會對不同的 .NET 實作拋出不同的例外。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Send(HttpRequestMessage, HttpCompletionOption)拋出的例外。

適用於

SendAsync(HttpRequestMessage, CancellationToken)

來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs
來源:
HttpClient.cs

以非同步操作方式發送 HTTP 請求。

public:
 override System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync(System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Overrides Function SendAsync (request As HttpRequestMessage, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)

參數

request
HttpRequestMessage

HTTP 請求訊息要發送。

cancellationToken
CancellationToken

取消令牌用於取消操作。

傳回

表示異步操作的工作物件。

例外狀況

requestnull

請求訊息已經由實例發送 HttpClient 了。

請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示

-或-

僅限 .NET 框架:請求已逾時。

取消令牌也被取消了。 此例外會儲存在回傳的任務中。

-或-

僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。

備註

這個操作不會阻擋。 回傳 Task<TResult> 物件在完整回應(包括內容)被讀取後才會完成。 行為與明確指定相同 ResponseContentRead

Note

若逾時,會對不同的 .NET 實作拋出不同的例外。

此方法在任務中儲存所有非使用例外,該方法的同步對應程式可拋出這些例外。 如果回傳的任務中儲存了例外,該例外會在等待任務時拋出。 使用例外錯誤,例如 ArgumentException,仍會同步拋出。 關於儲存的例外,請參見由 Send(HttpRequestMessage)拋出的例外。

適用於