HttpClient 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 HttpClient 類別的新執行個體。
多載
HttpClient() |
使用當處置此執行個體時會處置的 HttpClientHandler 來初始化 HttpClient 類別的新執行個體。 |
HttpClient(HttpMessageHandler) |
使用指定的處理常式初始化 HttpClient 類別的新執行個體。 當處置此執行個體時會處置該處理常式。 |
HttpClient(HttpMessageHandler, Boolean) |
使用提供的處理常式初始化 HttpClient 類別的新執行個體,並指定當處置此執行個體時是否應該處置該處理常式。 |
備註
HttpClient 是要具現化一次,並在應用程式生命週期中重複使用。 針對每個要求具現化 HttpClient 類別,將會耗盡大量負載下可用的套接字數目。 這會導致 SocketException 錯誤。 以下是正確使用 HttpClient 的範例。
public class GoodController : ApiController
{
private static readonly HttpClient HttpClient;
static GoodController()
{
HttpClient = new HttpClient();
}
}
Public Class GoodController
Inherits ApiController
Private Shared ReadOnly HttpClient As HttpClient
Shared Sub New()
HttpClient = New HttpClient()
End Sub
End Class
HttpClient()
使用當處置此執行個體時會處置的 HttpClientHandler 來初始化 HttpClient 類別的新執行個體。
public:
HttpClient();
public HttpClient ();
Public Sub New ()
備註
使用此建構函式相當於呼叫建 HttpClient(new HttpClientHandler(), true)
構函式。
適用於
HttpClient(HttpMessageHandler)
使用指定的處理常式初始化 HttpClient 類別的新執行個體。 當處置此執行個體時會處置該處理常式。
public:
HttpClient(System::Net::Http::HttpMessageHandler ^ handler);
public HttpClient (System.Net.Http.HttpMessageHandler handler);
new System.Net.Http.HttpClient : System.Net.Http.HttpMessageHandler -> System.Net.Http.HttpClient
Public Sub New (handler As HttpMessageHandler)
參數
- handler
- HttpMessageHandler
要用來傳送要求的 HTTP 處理常式堆疊。
例外狀況
handler
為 null
。
備註
使用此建構函式相當於呼叫建 HttpClient(handler, true)
構函式。
handler
指定的 將會藉由呼叫 HttpClient.Dispose 來處置。
適用於
HttpClient(HttpMessageHandler, Boolean)
使用提供的處理常式初始化 HttpClient 類別的新執行個體,並指定當處置此執行個體時是否應該處置該處理常式。
public:
HttpClient(System::Net::Http::HttpMessageHandler ^ handler, bool disposeHandler);
public HttpClient (System.Net.Http.HttpMessageHandler handler, bool disposeHandler);
new System.Net.Http.HttpClient : System.Net.Http.HttpMessageHandler * bool -> System.Net.Http.HttpClient
Public Sub New (handler As HttpMessageHandler, disposeHandler As Boolean)
參數
- handler
- HttpMessageHandler
負責處理 HTTP 回應訊息的 HttpMessageHandler。
- disposeHandler
- Boolean
如果內部處理常式應由 HttpClient.Dispose 處置,則為 true
,如果您想要重複使用內部處理常式,則為 false
。
例外狀況
handler
為 null
。