SocketsHttpHandler 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
.NET Core 2.1 이상 버전의 HttpClient에서 사용되는 기본 메시지 처리기를 제공합니다.
public ref class SocketsHttpHandler sealed : System::Net::Http::HttpMessageHandler
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type SocketsHttpHandler = class
inherit HttpMessageHandler
type SocketsHttpHandler = class
inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
- 상속
- 특성
설명
.NET Core 2.1부터 클래스는 SocketsHttpHandler
와 같은 HttpClient상위 수준의 HTTP 네트워킹 클래스에서 사용하는 구현을 제공합니다. 의 SocketsHttpHandler
사용은 다음과 같은 여러 가지 이점을 제공합니다.
이전 구현보다 월등히 향상된 성능.
플랫폼 종속성을 제거하여 배포 및 서비스를 간소화합니다. 예를 들어 는
libcurl
더 이상 macOS용 .NET Core 및 Linux용 .NET Core에 대한 종속성이 아닙니다.모든 .NET 플랫폼에서 일관된 동작.
이 변경이 바람직하지 않고 .NET Core 2.1-3.1에 있는 경우 다음과 같은 여러 가지 방법으로 이전 System.Net.Http.HttpClientHandler 클래스를 사용하도록 애플리케이션을 구성할 수 있습니다.
다음과 같이 메서드를 AppContext.SetSwitch 호출합니다.
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
.netcore.runtimeconfig.json 구성 파일에서 스위치를 정의합니다
System.Net.Http.UseSocketsHttpHandler
."runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
라는
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
환경 변수를 정의하고 또는 0으로false
설정합니다.
이러한 구성 옵션은 .NET 5부터 사용할 수 없습니다.
생성자
SocketsHttpHandler() |
SocketsHttpHandler 클래스의 인스턴스를 만듭니다. |
속성
ActivityHeadersPropagator |
분산 추적 및 컨텍스트를 전파할 때 사용할 전파자를 가져오거나 설정합니다.
전파를 사용하지 않도록 설정하는 데 사용합니다 |
AllowAutoRedirect |
처리기가 리디렉션 응답을 따르는지 여부를 나타내는 값을 가져오거나 설정합니다. |
AutomaticDecompression |
HTTP 콘텐츠 응답의 자동 압축 풀기를 위해 처리기가 사용하는 압축 풀기 메서드 형식을 가져오거나 설정합니다. |
ConnectCallback |
새 연결을 여는 데 사용되는 사용자 지정 콜백을 가져오거나 설정합니다. |
ConnectTimeout |
연결 설정이 시간 초과될 때까지 대기하는 시간 간격을 가져오거나 설정합니다. |
CookieContainer |
관리되는 쿠키 컨테이너 개체를 가져오거나 설정합니다. |
Credentials |
이 처리기에서 사용하는 인증 정보를 가져오거나 설정합니다. |
DefaultProxyCredentials |
기본(시스템) 프록시를 사용하는 경우 인증을 위해 기본 프록시 서버에 제출하는 데 사용되는 자격 증명을 가져오거나 설정합니다. |
EnableMultipleHttp2Connections |
동일한 서버에 추가 HTTP/2 연결을 설정할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
EnableMultipleHttp3Connections |
.NET Core 2.1 이상 버전의 HttpClient에서 사용되는 기본 메시지 처리기를 제공합니다. |
Expect100ContinueTimeout |
서버 HTTP 100 Continue 응답의 시간 제한 값을 가져오거나 설정합니다. |
InitialHttp2StreamWindowSize |
이 SocketsHttpHandler에서 연 모든 연결에 대한 초기 HTTP2 스트림 수신 창 크기를 정의합니다. |
IsSupported |
처리기가 현재 플랫폼에서 지원되는지 여부를 나타내는 값을 가져옵니다. |
KeepAlivePingDelay |
연결 유지 ping 지연을 가져오거나 설정합니다. |
KeepAlivePingPolicy |
연결 유지 ping 동작을 가져오거나 설정합니다. |
KeepAlivePingTimeout |
연결 유지 ping 시간 제한을 가져오거나 설정합니다. |
MaxAutomaticRedirections |
허용되는 HTTP 리디렉션의 최대 수를 가져오거나 설정합니다. |
MaxConnectionsPerServer |
단일 서버에서 허용하는 최대 동시 TCP 연결 수를 가져오거나 설정합니다. |
MaxResponseDrainSize |
응답에서 배출할 수 있는 최대 데이터 양을 바이트 단위로 가져오거나 설정합니다. |
MaxResponseHeadersLength |
응답 헤더의 킬로바이트(1024바이트) 단위로 최대 길이를 가져오거나 설정합니다. |
MeterFactory |
instance 대한 사용자 지정 Meter 을 만들 을 SocketsHttpHandler 가져오거나 설정합니다IMeterFactory. |
PlaintextStreamFilter |
일반 텍스트 HTTP 프로토콜 스트림에 대한 액세스를 제공하는 사용자 지정 콜백을 가져오거나 설정합니다. |
PooledConnectionIdleTimeout |
연결이 풀에서 유휴 상태일 수 있는 기간을 재사용 가능하도록 가져오거나 설정합니다. |
PooledConnectionLifetime |
풀에서 연결이 재사용 가능한 것으로 간주될 수 있는 기간을 가져오거나 설정합니다. |
PreAuthenticate |
처리기가 요청과 함께 인증 헤더를 보낼 것인지 여부를 나타내는 값을 가져오거나 설정합니다. |
Properties |
HttpClient 요청에 대한 사용자 지정 속성의 쓰기 가능한 사전(즉, 맵)을 가져옵니다. 사전이 비어 있도록 초기화되었습니다. 사용자 지정 처리기 및 특수한 처리에 대한 키-값 쌍을 삽입하고 쿼리할 수 있습니다. |
Proxy |
UseProxy 속성이 |
RequestHeaderEncodingSelector |
요청 헤더 값을 인코딩할 를 선택하는 Encoding 콜백을 가져오거나 설정합니다. |
ResponseDrainTimeout |
응답에서 데이터가 배출될 때까지 대기하는 시간 간격을 가져오거나 설정합니다. |
ResponseHeaderEncodingSelector |
응답 헤더 값을 디코딩할 를 선택하는 Encoding 콜백을 가져오거나 설정합니다. |
SslOptions |
클라이언트 TLS 인증에 사용되는 옵션 집합을 가져오거나 설정합니다. |
UseCookies |
처리기에서 쿠키를 사용해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
UseProxy |
처리기에서 프록시를 사용해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
메서드
Dispose() |
관리되지 않는 리소스를 해제하고, HttpMessageHandler에서 사용하는 관리되는 리소스를 삭제합니다. (다음에서 상속됨 HttpMessageHandler) |
Dispose(Boolean) |
HttpMessageHandler에서 사용하는 관리되지 않는 리소스를 해제하고 관리되는 리소스를 선택적으로 삭제할 수 있습니다. (다음에서 상속됨 HttpMessageHandler) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Send(HttpRequestMessage, CancellationToken) |
파생 클래스에서 재정의된 경우 지정된 요청 및 취소 토큰을 사용하여 HTTP 요청을 보냅니다. 그렇지 않으면 NotSupportedException이 throw됩니다. (다음에서 상속됨 HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
HTTP 요청을 비동기 작업으로 보냅니다. (다음에서 상속됨 HttpMessageHandler) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET