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
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
type SocketsHttpHandler = class
    inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
継承
SocketsHttpHandler

注釈

.Net Core 2.1 以降、クラスはSocketsHttpHandler 、などHttpClientの上位レベルの HTTP ネットワーククラスで使用される実装を提供します。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.

この変更が望ましくない場合は、古いSystem.Net.Http.HttpClientHandlerクラスを使用するようにアプリケーションを構成できます。これには、次のようなさまざまな方法があります。If this change is undesirable, 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. json構成ファイルでスイッチを定義します。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.

コンストラクター

SocketsHttpHandler()

プロパティ

AllowAutoRedirect
AutomaticDecompression

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

ConnectTimeout
CookieContainer

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

Credentials
DefaultProxyCredentials

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

Expect100ContinueTimeout
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.

PooledConnectionIdleTimeout

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

PooledConnectionLifetime
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.

ResponseDrainTimeout
SslOptions

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

UseCookies
UseProxy

メソッド

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)
SendAsync(HttpRequestMessage, CancellationToken)

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

(継承元 HttpMessageHandler)
ToString()

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

(継承元 Object)

適用対象