HttpClient.SendAsync 方法

定義

以非同步作業的方式,傳送 HTTP 要求。

多載

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

以非同步作業的方式,傳送 HTTP 要求。

SendAsync(HttpRequestMessage)

以非同步作業的方式,傳送 HTTP 要求。

SendAsync(HttpRequestMessage, HttpCompletionOption)

以非同步作業的方式,傳送 HTTP 要求。

SendAsync(HttpRequestMessage, CancellationToken)

以非同步作業的方式,傳送 HTTP 要求。

備註

這項作業不會封鎖。

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
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 執行個體傳送。

要求已因基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證或逾時) 而失敗。

僅限 .NET Core 和 .NET 5 和更新版本:要求因逾時而失敗。

取消權杖已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 根據 參數的值 completionOption ,傳回 Task<TResult> 的物件會在回應可用或包含內容的整個回應讀取時完成。

注意

如果逾時,不同的 .NET 實作會擲回不同的例外狀況。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Send(HttpRequestMessage, HttpCompletionOption) 擲回的例外狀況。

適用於

SendAsync(HttpRequestMessage)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
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 執行個體傳送。

要求已因基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證或逾時) 而失敗。

僅限 .NET Core 和 .NET 5 和更新版本:要求因逾時而失敗。

備註

這項作業不會封鎖。 一旦讀取包含內容的整個回應之後,傳 Task<TResult> 回的物件就會完成。 行為與明確指定的行為 ResponseContentRead 相同。

注意

如果逾時,不同的 .NET 實作會擲回不同的例外狀況。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Send(HttpRequestMessage) 擲回的例外狀況。

適用於

SendAsync(HttpRequestMessage, HttpCompletionOption)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
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 執行個體傳送。

要求已因基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證或逾時) 而失敗。

僅限 .NET Core 和 .NET 5 和更新版本:要求因逾時而失敗。

備註

這項作業不會封鎖。 根據 參數的值 completionOption ,傳回 Task<TResult> 的物件會在回應可用或包含內容的整個回應讀取時完成。

注意

如果逾時,不同的 .NET 實作會擲回不同的例外狀況。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Send(HttpRequestMessage, HttpCompletionOption) 擲回的例外狀況。

適用於

SendAsync(HttpRequestMessage, CancellationToken)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
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 執行個體傳送。

要求已因基本問題 (例如網路連線、DNS 失敗、伺服器憑證驗證或逾時) 而失敗。

僅限 .NET Core 和 .NET 5 和更新版本:要求因逾時而失敗。

取消權杖已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 一旦讀取包含內容的整個回應之後,傳 Task<TResult> 回的物件就會完成。 行為與明確指定的行為 ResponseContentRead 相同。

注意

如果逾時,不同的 .NET 實作會擲回不同的例外狀況。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Send(HttpRequestMessage) 擲回的例外狀況。

適用於