SocketsHttpHandler クラス

定義

.NET Core 2.1 以降の HttpClient で使用される既定のメッセージ ハンドラーを提供します。Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

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
継承
SocketsHttpHandler
属性

注釈

.NET Core 2.1 以降、クラスは、 SocketsHttpHandler などの上位レベルの HTTP ネットワーククラスで使用される実装を提供し HttpClient ます。Starting with .NET Core 2.1, the SocketsHttpHandler class provides the implementation used by higher-level HTTP networking classes such as HttpClient. の使用には、 SocketsHttpHandler 次のようないくつかの利点があります。The use of SocketsHttpHandler offers a number of advantages:

  • 以前の実装と比較して、パフォーマンスが大幅に向上しています。A significant performance improvement when compared with the previous implementation.

  • プラットフォームの依存関係を削除することで、デプロイとサービスが簡単になります。The elimination of platform dependencies, which simplifies deployment and servicing. たとえば、 libcurl は、macOS 用の .Net core と Linux 用の .Net core に依存しなくなりました。For example, libcurl is no longer a dependency on .NET Core for macOS and .NET Core for Linux.

  • すべての .NET プラットフォームでの一貫した動作。Consistent behavior across all .NET platforms.

この変更が望ましくない場合、.NET Core 2.1-3.1 では、古いクラスを使用するようにアプリケーションを構成できます。これには、次のようなさまざま System.Net.Http.HttpClientHandler な方法があります。If this change is undesirable and you are on .NET Core 2.1-3.1, you can configure your application to use the older System.Net.Http.HttpClientHandler class instead in a number of ways:

  • 次のようにメソッドを呼び出し AppContext.SetSwitch ます。By calling the AppContext.SetSwitch method as follows:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • System.Net.Http.UseSocketsHttpHandler構成ファイル の.netcore.runtimeconfig.js にスイッチを定義することで、次のようになります。By defining the System.Net.Http.UseSocketsHttpHandler switch in the .netcore.runtimeconfig.json configuration file:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • という名前の環境変数を定義 DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER し、これを false または0に設定します。By defining an environment variable named DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER and setting it to either false or 0.

これらの構成オプションは、.NET 5 以降では使用できません。These configuration options are not available starting with .NET 5.

コンストラクター

SocketsHttpHandler()

SocketsHttpHandler クラスのインスタンスを作成します。Creates an instance of a SocketsHttpHandler class.

プロパティ

AllowAutoRedirect

ハンドラーがリダイレクト応答に従うかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler should follow redirection responses.

AutomaticDecompression

HTTP コンテンツ応答を自動展開するためにハンドラーによって使用される展開メソッドの種類を取得または設定します。Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.

ConnectCallback

新しい接続を開くために使用するカスタム コールバックを取得または設定します。Gets or sets a custom callback used to open new connections.

ConnectTimeout

接続の確立がタイムアウトするまで待機する期間を取得または設定します。Gets or sets the timespan to wait before the connection establishing times out.

CookieContainer

マネージド クッキー コンテナー オブジェクトを取得または設定します。Gets or sets the managed cookie container object.

Credentials

このハンドラーで使用する認証情報を取得または設定します。Gets or sets authentication information used by this handler.

DefaultProxyCredentials

既定の (システム) プロキシが使用されている場合、認証のために既定のプロキシ サーバーに送信するための使用されている資格情報を取得または設定します。When the default (system) proxy is used, gets or sets the credentials used to submit to the default proxy server for authentication.

EnableMultipleHttp2Connections

すべての既存の接続で同時実行ストリームの最大数に達したときに、同じサーバーに対して追加の HTTP/2 接続を確立できるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether additional HTTP/2 connections can be established to the same server when the maximum number of concurrent streams is reached on all existing connections.

Expect100ContinueTimeout

サーバーの HTTP 100 Continue 応答のタイムアウト値を取得または設定します。Gets or sets the time-out value for server HTTP 100 Continue response.

IsSupported

現在のプラットフォームでハンドラーがサポートされているかどうかを示す値を取得します。Gets a value that indicates whether the handler is supported on the current platform.

KeepAlivePingDelay

キープ アライブ ping の遅延を取得または設定します。Gets or sets the keep alive ping delay.

KeepAlivePingPolicy

キープ アライブ ping の動作を取得または設定します。Gets or sets the keep alive ping behaviour.

KeepAlivePingTimeout

キープ アライブ ping のタイムアウトを取得または設定します。Gets or sets the keep alive ping timeout.

MaxAutomaticRedirections

許可される HTTP リダイレクトの最大数を取得または設定します。Gets or sets the maximum number of allowed HTTP redirects.

MaxConnectionsPerServer

1 つのサーバーに対して許可されている同時 TCP 接続の最大数を取得または設定します。Gets or sets the maximum number of simultaneous TCP connections allowed to a single server.

MaxResponseDrainSize

応答からドレインできる最大データ量 (バイト単位) を取得または設定します。Gets or sets the maximum amount of data that can be drained from responses in bytes.

MaxResponseHeadersLength

応答ヘッダーの最大長 (KB 単位、1 KB = 1024 バイト) を取得または設定します。Gets or sets the maximum length, in kilobytes (1024 bytes), of the response headers.

PlaintextStreamFilter
PooledConnectionIdleTimeout

再利用可能と見なされるプールで接続がアイドル状態でいられる時間を取得または設定します。Gets or sets how long a connection can be idle in the pool to be considered reusable.

PooledConnectionLifetime

再利用可能と見なされるために接続がプール内にいられる時間を取得または設定します。Gets or sets how long a connection can be in the pool to be considered reusable.

PreAuthenticate

ハンドラーが要求と共に認証ヘッダーを送信するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler sends an Authorization header with the request.

Properties
Proxy

 UseProxy プロパティが true の場合に、カスタム プロキシを取得または設定します。Gets or sets the custom proxy when the UseProxy property is true.

RequestHeaderEncodingSelector

Encoding要求ヘッダー値をエンコードするを選択するコールバックを取得または設定します。Gets or sets a callback that selects the Encoding to encode request header values.

ResponseDrainTimeout

データが応答からドレインされるのを待機する期間を取得または設定します。Gets or sets the timespan to wait for data to be drained from responses.

ResponseHeaderEncodingSelector

Encoding応答ヘッダー値をデコードするを選択するコールバックを取得または設定します。Gets or sets a callback that selects the Encoding to decode response header values.

SslOptions

クライアント TLS 認証に使用するオプションのセットを取得または設定します。Gets or sets the set of options used for client TLS authentication.

UseCookies

ハンドラーで Cookie を使用するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler should use cookies.

UseProxy

ハンドラーでプロキシを使用するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler should use a proxy.

メソッド

Dispose()

HttpMessageHandler が使用しているアンマネージド リソースを解放し、マネージド リソースを破棄します。Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageHandler.

(継承元 HttpMessageHandler)
Dispose(Boolean)

HttpMessageHandler が使用しているアンマネージド リソースを解放します。オプションとして、マネージド リソースを破棄することもできます。Releases the unmanaged resources used by the HttpMessageHandler and optionally disposes of the managed resources.

(継承元 HttpMessageHandler)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Send(HttpRequestMessage, CancellationToken)

派生クラスでオーバーライドされた場合は、指定した要求とキャンセル トークンを使用して HTTP 要求を送信します。When overridden in a derived class, sends an HTTP request with the specified request and cancellation token. それ以外の場合は、NotSupportedException をスローします。Otherwise, throws a NotSupportedException.

(継承元 HttpMessageHandler)
SendAsync(HttpRequestMessage, CancellationToken)

非同期操作として HTTP 要求を送信します。Send an HTTP request as an asynchronous operation.

(継承元 HttpMessageHandler)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象