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
환경 변수를 정의하고false
또는 0으로 설정합니다.
이러한 구성 옵션은 .NET 5부터 사용할 수 없습니다.
생성자
SocketsHttpHandler() |
SocketsHttpHandler 클래스의 인스턴스를 만듭니다. |
속성
ActivityHeadersPropagator |
분산 추적 및 컨텍스트를 전파할 때 사용할 전파자를 가져오거나 설정합니다.
|
AllowAutoRedirect |
처리기가 리디렉션 응답을 따라야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
AutomaticDecompression |
HTTP 콘텐츠 응답의 자동 압축 해제를 위해 처리기에서 사용하는 압축 해제 메서드의 형식을 가져오거나 설정합니다. |
ConnectCallback |
새 연결을 여는 데 사용되는 사용자 지정 콜백을 가져오거나 설정합니다. |
ConnectTimeout |
연결 설정 시간이 초과되기 전에 대기할 시간 간격을 가져오거나 설정합니다. |
CookieContainer |
관리되는 쿠키 컨테이너 개체를 가져오거나 설정합니다. |
Credentials |
이 처리기에서 사용하는 인증 정보를 가져오거나 설정합니다. |
DefaultProxyCredentials |
기본(시스템) 프록시를 사용하는 경우 인증을 위해 기본 프록시 서버에 제출하는 데 사용되는 자격 증명을 가져오거나 설정합니다. |
EnableMultipleHttp2Connections |
동일한 서버에 추가 HTTP/2 연결을 설정할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
EnableMultipleHttp3Connections |
동일한 서버에 추가 HTTP/3 연결을 설정할 수 있는지 여부를 나타내는 값을 가져오거나 설정합니다. |
Expect100ContinueTimeout |
서버 HTTP 100 Continue 응답의 제한 시간 값을 가져오거나 설정합니다. |
InitialHttp2StreamWindowSize |
이 SocketsHttpHandler열린 모든 연결에 대한 초기 HTTP2 스트림 수신 창 크기를 정의합니다. |
IsSupported |
처리기가 현재 플랫폼에서 지원되는지 여부를 나타내는 값을 가져옵니다. |
KeepAlivePingDelay |
활성 유지 ping 지연을 가져오거나 설정합니다. |
KeepAlivePingPolicy |
활성 ping 동작 유지를 가져오거나 설정합니다. |
KeepAlivePingTimeout |
keep alive ping 시간 제한을 가져오거나 설정합니다. |
MaxAutomaticRedirections |
허용되는 HTTP 리디렉션의 최대 수를 가져오거나 설정합니다. |
MaxConnectionsPerServer |
단일 서버에 허용되는 최대 동시 TCP 연결 수를 가져오거나 설정합니다. |
MaxResponseDrainSize |
응답에서 드레이닝할 수 있는 최대 데이터 양을 바이트 단위로 가져오거나 설정합니다. |
MaxResponseHeadersLength |
응답 헤더의 최대 길이(킬로바이트(1024바이트)를 가져오거나 설정합니다. |
MeterFactory |
SocketsHttpHandler 인스턴스에 대한 사용자 지정 Meter 만드는 IMeterFactory 가져오거나 설정합니다. |
PlaintextStreamFilter |
일반 텍스트 HTTP 프로토콜 스트림에 대한 액세스를 제공하는 사용자 지정 콜백을 가져오거나 설정합니다. |
PooledConnectionIdleTimeout |
다시 사용할 수 있는 것으로 간주될 풀에서 연결을 유휴 상태로 설정할 수 있는 기간을 가져오거나 설정합니다. |
PooledConnectionLifetime |
다시 사용할 수 있는 것으로 간주될 풀에 연결이 있을 수 있는 기간을 가져오거나 설정합니다. |
PreAuthenticate |
처리기가 요청과 함께 Authorization 헤더를 보내는지 여부를 나타내는 값을 가져오거나 설정합니다. |
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 요청을 보냅니다. 그렇지 않으면 NotSupportedExceptionthrow합니다. (다음에서 상속됨 HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
HTTP 요청을 비동기 작업으로 보냅니다. (다음에서 상속됨 HttpMessageHandler) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
.NET