다음을 통해 공유


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) 것과 같습니다.

지정된 handlerHttpClient.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

HttpMessageHandler는 HTTP 응답 메시지 처리를 담당합니다.

disposeHandler
Boolean

HttpClient.Dispose에 의해 내부 처리기를 삭제해야 하는 경우 true이고, 내부 처리기를 다시 사용하려고 하는 경우 false입니다.

예외

handlernull인 경우

적용 대상