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 |
1 つのサーバーに対して許可されている同時 TCP 接続の最大数を取得または設定します。 |
MaxResponseDrainSize |
応答からドレインできる最大データ量 (バイト単位) を取得または設定します。 |
MaxResponseHeadersLength |
応答ヘッダーの最大長 (KB 単位、1 KB = 1024 バイト) を取得または設定します。 |
MeterFactory |
インスタンスのIMeterFactoryカスタムMeterSocketsHttpHandlerを作成する を取得または設定します。 |
PlaintextStreamFilter |
プレーンテキスト HTTP プロトコル ストリームへのアクセスを提供するカスタム コールバックを取得または設定します。 |
PooledConnectionIdleTimeout |
再利用可能と見なされるプールで接続がアイドル状態でいられる時間を取得または設定します。 |
PooledConnectionLifetime |
再利用可能と見なされるために接続がプール内にいられる時間を取得または設定します。 |
PreAuthenticate |
ハンドラーが要求と共に認証ヘッダーを送信するかどうかを示す値を取得または設定します。 |
Properties |
HttpClient 要求のカスタム プロパティの書き込み可能なディクショナリ (つまり、マップ) を取得します。 ディクショナリが初期化されて空になると、カスタム ハンドラーと特殊な処理のキーと値のペアを挿入してクエリを実行できます。 |
Proxy |
UseProxy プロパティが |
RequestHeaderEncodingSelector |
要求ヘッダー値をエンコードする を Encoding 選択するコールバックを取得または設定します。 |
ResponseDrainTimeout |
データが応答からドレインされるのを待機する期間を取得または設定します。 |
ResponseHeaderEncodingSelector |
応答ヘッダー値をデコードする を Encoding 選択するコールバックを取得または設定します。 |
SslOptions |
クライアント TLS 認証に使用するオプションのセットを取得または設定します。 |
UseCookies |
ハンドラーで Cookie を使用するかどうかを示す値を取得または設定します。 |
UseProxy |
ハンドラーでプロキシを使用するかどうかを示す値を取得または設定します。 |
メソッド
Dispose() |
HttpMessageHandler が使用しているアンマネージド リソースを解放し、マネージド リソースを破棄します。 (継承元 HttpMessageHandler) |
Dispose(Boolean) |
HttpMessageHandler が使用しているアンマネージド リソースを解放します。オプションとして、マネージド リソースを破棄することもできます。 (継承元 HttpMessageHandler) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Send(HttpRequestMessage, CancellationToken) |
派生クラスでオーバーライドされた場合は、指定した要求とキャンセル トークンを使用して HTTP 要求を送信します。 それ以外の場合は、NotSupportedException をスローします。 (継承元 HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
非同期操作として HTTP 要求を送信します。 (継承元 HttpMessageHandler) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET