SocketsHttpHandler SocketsHttpHandler SocketsHttpHandler SocketsHttpHandler Class

定義

.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
継承
SocketsHttpHandlerSocketsHttpHandlerSocketsHttpHandlerSocketsHttpHandler

注釈

.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 の .NET Core への依存関係を for Linux が不要になった。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() SocketsHttpHandler() SocketsHttpHandler() SocketsHttpHandler()

プロパティ

AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect
AutomaticDecompression AutomaticDecompression AutomaticDecompression AutomaticDecompression
ConnectTimeout ConnectTimeout ConnectTimeout ConnectTimeout
CookieContainer CookieContainer CookieContainer CookieContainer
Credentials Credentials Credentials Credentials
DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials
Expect100ContinueTimeout Expect100ContinueTimeout Expect100ContinueTimeout Expect100ContinueTimeout
MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections
MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer
MaxResponseDrainSize MaxResponseDrainSize MaxResponseDrainSize MaxResponseDrainSize
MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength
PooledConnectionIdleTimeout PooledConnectionIdleTimeout PooledConnectionIdleTimeout PooledConnectionIdleTimeout

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

PooledConnectionLifetime PooledConnectionLifetime PooledConnectionLifetime PooledConnectionLifetime
PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate
Properties Properties Properties Properties
Proxy Proxy Proxy Proxy
ResponseDrainTimeout ResponseDrainTimeout ResponseDrainTimeout ResponseDrainTimeout
SslOptions SslOptions SslOptions SslOptions
UseCookies UseCookies UseCookies UseCookies
UseProxy UseProxy UseProxy UseProxy

メソッド

Dispose() Dispose() Dispose() Dispose()

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

(Inherited from HttpMessageHandler)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

(Inherited from HttpMessageHandler)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken)

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

(Inherited from HttpMessageHandler)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

適用対象