HttpClient 构造函数

定义

初始化 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()

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

使用释放此实例时释放的 HttpClientHandler 初始化 HttpClient 类的新实例。

public:
 HttpClient();
public HttpClient ();
Public Sub New ()

注解

使用此构造函数等效于调用构造 HttpClient(new HttpClientHandler(), true) 函数。

适用于

HttpClient(HttpMessageHandler)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

使用指定的处理程序初始化 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 处理程序堆栈。

例外

handlernull

注解

使用此构造函数等效于调用构造 HttpClient(handler, true) 函数。

handler指定的 将通过调用 HttpClient.Dispose 来释放

适用于

HttpClient(HttpMessageHandler, Boolean)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

使用提供的处理程序初始化 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

例外

handlernull

适用于