HttpClient.SendRequestAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
SendRequestAsync(HttpRequestMessage) |
以非同步作業的方式,傳送 HTTP 要求。 如需 HttpClient 類別的程式設計指引和程式碼範例,請參閱 HttpClient 概念性主題。 |
SendRequestAsync(HttpRequestMessage, HttpCompletionOption) |
以 HTTP 完成選項作為非同步作業傳送 HTTP 要求。 如需 HttpClient 類別的程式設計指引和程式碼範例,請參閱 HttpClient 概念性主題。 |
SendRequestAsync(HttpRequestMessage)
以非同步作業的方式,傳送 HTTP 要求。 如需 HttpClient 類別的程式設計指引和程式碼範例,請參閱 HttpClient 概念性主題。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.Overload("SendRequestAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
參數
- request
- HttpRequestMessage
要傳送的 HTTP 要求訊息。
傳回
表示非同步作業的 物件。
- 屬性
備註
這項作業不會封鎖。 傳回的 IAsyncOperationWithProgress (HttpResponseMessage 和 HttpProgress) 會在讀取整個回應 (之後完成,包括內容) 。
在要求參數中傳遞的HttpRequestMessage可讓 SendRequestAsync 方法設定要求訊息上的標頭,以及在要傳送的 HTTP 內容上設定標頭。 相反地, PostAsync 和 PutAsync 方法只允許設定一組有限的 HTTP 內容標頭。
以下是此函式擲回的例外狀況。
E_ILLEGAL_METHOD_CALL
要求訊息已經由 HttpClient 實例傳送。
例外狀況處理
呼叫此方法時,您必須撰寫程式碼來處理例外狀況。 例外狀況可能是因為參數驗證錯誤、名稱解析失敗和網路錯誤所造成。 網路錯誤 (連線中斷、連線失敗和 HTTP 伺服器失敗的例外狀況,例如,隨時可能會發生) 。 這些錯誤會造成擲出例外狀況。 如果應用程式未處理,例外狀況可能會導致整個應用程式由執行時間終止。 如需如何處理例外狀況的詳細資訊,請參閱 處理網路應用程式中的例外 狀況 和如何:對應 HRESULT 和例外狀況。
另請參閱
- HttpRequestMessage
- PostAsync(Uri, IHttpContent)
- PutAsync(Uri, IHttpContent)
- SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
- HttpClient
適用於
SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
以 HTTP 完成選項作為非同步作業傳送 HTTP 要求。 如需 HttpClient 類別的程式設計指引和程式碼範例,請參閱 HttpClient 概念性主題。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request, HttpCompletionOption completionOption) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request, HttpCompletionOption const& completionOption);
[Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
function sendRequestAsync(request, completionOption)
Public Function SendRequestAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
參數
- request
- HttpRequestMessage
要傳送的 HTTP 要求訊息。
- completionOption
- HttpCompletionOption
值,指出當讀取所有回應時,或唯讀取標頭時, 是否將 HttpClient 作業視為已完成。
傳回
表示非同步作業的 物件。
- 屬性
備註
這項作業不會封鎖。 傳回的 IAsyncOperationWithProgress (HttpResponseMessage 和 HttpProgress) 會根據 completionOption 參數的值來完成。
在要求參數中傳遞的HttpRequestMessage可讓 SendRequestAsync 方法設定要求訊息上的標頭,以及在要傳送的 HTTP 內容上設定標頭。 相反地, PostAsync 和 PutAsync 方法只允許設定一組有限的 HTTP 內容標頭。
以下是此函式擲回的例外狀況。
E_ILLEGAL_METHOD_CALL
要求訊息已經由 HttpClient 實例傳送。
例外狀況處理
呼叫此方法時,您必須撰寫程式碼來處理例外狀況。 例外狀況可能是因為參數驗證錯誤、名稱解析失敗和網路錯誤所造成。 網路錯誤 (連線中斷、連線失敗和 HTTP 伺服器失敗的例外狀況,例如,隨時可能會發生) 。 這些錯誤會造成擲出例外狀況。 如果應用程式未處理,例外狀況可能會導致整個應用程式由執行時間終止。 如需如何處理例外狀況的詳細資訊,請參閱 處理網路應用程式中的例外 狀況 和如何:對應 HRESULT 和例外狀況。