Dela via


Konfigurationsalternativ för körning för nätverk

HTTP/2-protokoll

  • Konfigurerar om stöd för HTTP/2-protokollet är aktiverat.
  • Om du utelämnar den här inställningen är stöd för HTTP/2-protokollet aktiverat. Detta motsvarar att ange värdet till true.
Inställningsnamn Värden
runtimeconfig.json System.Net.Http.SocketsHttpHandler.Http2Support false -handikappad
true -Aktiverat
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 0 -handikappad
1 -Aktiverat

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

HTTP/3-protokoll

  • Från och med .NET 7 är HTTP/3 aktiverat som standard.
Inställningsnamn Värden
runtimeconfig.json System.Net.SocketsHttpHandler.Http3Support false -Inaktiverad
true -Aktiverat
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT 0 -handikappad
1 -Aktiverat

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

SPN-skapande i HttpClient (.NET 6 och senare)

  • Påverkar generering av tjänstens huvudnamn (SPN) för Kerberos- och NTLM-autentisering när Host huvudet saknas och målet inte körs på standardporten.
  • .NET 6- och senare versioner inkluderar inte porten i SPN som standard. Beteendet kan dock konfigureras.
Inställningsnamn Värden
runtimeconfig.json System.Net.Http.UsePortInSpn true - inkludera portnummer i SPN, till exempel HTTP/host:port
false - inkludera inte port i SPN, till exempel HTTP/host
Miljövariabel DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN 1 - inkludera portnummer i SPN, till exempel HTTP/host:port
0 - inkludera inte port i SPN, till exempel HTTP/host

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Skalning av dynamiska HTTP/2-fönster

  • Konfigurerar om skalningsalgoritmen för dynamiskt HTTP/2-fönster är inaktiverad för flödeskontroll. Algoritmen är aktiverad som standard.
  • När den är inställd truepå inaktiveras algoritmen för dynamisk fönsterskalning.
Inställningsnamn Värden
runtimeconfig.json System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing false - aktiverad (standard)
true -handikappad
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING 0 - aktiverad (standard)
1 -handikappad

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

HTTP/2-strömmen tar emot fönsterstorlek

  • Konfigurerar den maximala storleken på http/2-strömmens mottagningsfönster.
  • Standardvärdet är 16 MB. Värden under 65 535 är fastklämda till 65 535. Det finns ingen hård övre gräns, men att öka den här inställningen utöver standardvärdet är bara fördelaktigt för nätverk som är både högt dataflöde och långa svarstider.
Inställningsnamn Värden
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE Heltal (standard: 16 MB; minimum: 65 535)

Tröskelvärde för HTTP/2-dataströmsfönsterskalning

  • Konfigurerar multiplikatorn som styr hur aggressivt fönstret HTTP/2 stream-receive växer. Högre värden resulterar i en mer konservativ fönstertillväxt, vilket minskar det högsta dataflödet.
  • Standardvärdet är 1.0. Värden under 0 återställs till standardvärdet. Det finns ingen hård övre gräns, men värden som ligger mycket över standardvärdet begränsar dataflödet per begäran.

Anmärkning

Den här inställningen är avsedd för avancerad diagnostik och intern justering. De flesta utvecklare behöver inte ändra det.

Inställningsnamn Värden
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER Float (standard: 1,0; minimum: 0)

HTTP-aktivitetsspridning

Konfigurerar om spridning av distribuerad spårningsaktivitet är aktiverad för HttpClient. När det är aktiverat sprids spårningskontextrubriker (till exempel traceparent) för distribuerade spårningsverktyg som OpenTelemetry när de är aktiverade.

Inställningsnamn Värden
runtimeconfig.json System.Net.Http.EnableActivityPropagation true - aktiverad (standard)
false -handikappad
Miljövariabel DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 1 - aktiverad (standard)
0 -handikappad

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Väntande tidsgräns för anslutning vid slutförande av begäran

Konfigurerar tidsgränsen (i millisekunder) för att slutföra ett väntande anslutningsförsök när dess initierande HTTP-begäran har slutförts. När en anslutning fortfarande upprättas när begäran har slutförts avgör den här tidsgränsen hur lång tid det tar att vänta innan anslutningsförsöket avbryts.

  • Standardvärdet är 5000 (5 sekunder).
  • Ställ in på att -1 vänta på obestämd tid tills anslutningen har slutförts.
  • Ställ in på för att 0 avbryta den väntande anslutningen omedelbart när begäran har slutförts.
  • Det finns ingen hård övre gräns, men mycket stora värden är opraktiska.
Inställningsnamn Värden
runtimeconfig.json System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion Heltal (standard: 5000)
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION Heltal (standard: 5000)

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Proxypre-autentisering

När det är aktiverat SocketsHttpHandler skickar Basic du proaktivt autentiseringsuppgifter för proxyautentisering på den första begäran i stället för att vänta på ett 407 utmaningssvar från proxyn. Detta är användbart för proxyservrar som inte skickar 407 utmaningssvar.

Inställningsnamn Värden
runtimeconfig.json System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate false – inaktiverad (standard)
true -Aktiverat
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE 0 – inaktiverad (standard)
1 -Aktiverat

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Maximalt antal anslutningar per server

Konfigurerar det maximala antalet samtidiga TCP-anslutningar som SocketsHttpHandler öppnas till en enskild server. Hanteraren ignorerar värden som är mindre än 1 och använder standardvärdet.

  • Standardvärdet är obegränsat (int.MaxValue).
Inställningsnamn Värden
runtimeconfig.json System.Net.SocketsHttpHandler.MaxConnectionsPerServer Heltal (standard: obegränsat)
Miljövariabel DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER Heltal (standard: obegränsat)

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Inline-kompletteringar för socket

Konfigurerar om socketfortsättningar tillåts köras på händelsetråden i stället för att skickas till System.Threading.ThreadPool. Om du aktiverar den här inställningen kan du förbättra prestandan i vissa scenarier. Det kan dock försämra prestandan om dyrt arbete innehåller I/O-tråden längre än nödvändigt.

Anmärkning

Testa för att se till att aktivera den här inställningen hjälper prestanda i ditt specifika scenario.

Inställningsnamn Värden
Miljövariabel DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS 0 – inaktiverad (standard)
1 -Aktiverat

Antal sockettrådar

Konfigurerar antalet trådar som används för socket-I/O. När värdet inte åsidosätts beräknas det baserat på antal processorer och arkitektur. Praktiska värden finns i intervallet [1, ProcessorCount]. Värden utanför det här intervallet avvisas inte, men det är osannolikt att prestandan förbättras.

Anmärkning

Den här inställningen är avsedd för extrema belastningsscenarier. De flesta utvecklare behöver inte ändra det.

Inställningsnamn Värden
Miljövariabel DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT Integer

IPv6

Konfigurerar om Internet Protocol version 6 (IPv6) är inaktiverad.

Inställningsnamn Värden
runtimeconfig.json System.Net.DisableIPv6 false - aktiverad (standard)
true -handikappad
Miljövariabel DOTNET_SYSTEM_NET_DISABLEIPV6 0 - aktiverad (standard)
1 -handikappad

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Återupptagande av TLS-session

Kontrollera om återupptagandet av TLS-sessionen inaktiverar återupptagandet av TLS-sessionen för SslStream. Sessionsåtertagande gör att TLS-återanslutningar kan hoppa över en fullständig handskakning genom att återanvända tidigare förhandlade sessionsparametrar, vilket minskar svarstiden.

Inställningsnamn Värden
runtimeconfig.json System.Net.Security.DisableTlsResume false - aktiverad (standard)
true -handikappad
Miljövariabel DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME 0 - aktiverad (standard)
1 -handikappad

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Server AIA-nedladdningar

När det är aktiverat laddar TLS-klienten automatiskt ned mellanliggande certifikat från AIA-tilläggs-URL:er (Authority Information Access) i servercertifikat. På så sätt kan klienten skapa en fullständig certifikatkedja även när servern inte skickar hela kedjan.

Inställningsnamn Värden
runtimeconfig.json System.Net.Security.EnableServerAiaDownloads false – inaktiverad (standard)
true -Aktiverat
Miljövariabel DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS 0 – inaktiverad (standard)
1 -Aktiverat

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

CACHElagring av QUIC-konfiguration

Inaktiverar cachelagring av MsQuic-konfigurationsobjekt. När det är aktiverat (standard) cachelagrar och återanvänder systemet konfigurationsobjekt mellan anslutningar, vilket minskar kostnaderna för TLS- och QUIC-konfiguration för upprepade anslutningar med samma parametrar.

Inställningsnamn Värden
runtimeconfig.json System.Net.Quic.DisableConfigurationCache false – Cachelagring aktiverat (standard)
true – Cachelagring har inaktiverats
Miljövariabel DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE 0 – Cachelagring aktiverat (standard)
1 – Cachelagring har inaktiverats

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

Applokal MsQuic (Windows)

När den är aktiverad använder QUIC-implementeringen MsQuic-biblioteket från programkatalogen i stället för det systembaserade biblioteket som medföljer .NET-sammansättningen.

Inställningsnamn Värden
runtimeconfig.json System.Net.Quic.AppLocalMsQuic false – använda systemet MsQuic (standard)
true – använda applokal MsQuic

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.

HttpListener kernel-svarsbuffertning (Windows)

När det är aktiverat HttpListener buffrar svarsdata i kerneln via HTTP.sys. Kernelbuffertning kan avsevärt förbättra dataflödet över anslutningar med långa svarstider för program som använder synkron I/O eller asynkron I/O med högst en utestående skrivning i taget. Aktivera inte den här inställningen för program med flera samtidiga utestående skrivningar.

Anmärkning

Om du aktiverar kernelsvarsbuffertning kan det leda till högre processor- och minnesanvändning av HTTP.sys.

Inställningsnamn Värden
runtimeconfig.json System.Net.HttpListener.EnableKernelResponseBuffering false – inaktiverad (standard)
true -Aktiverat

Den här konfigurationsinställningen har ingen specifik MSBuild-egenskap. Du kan dock lägga till ett RuntimeHostConfigurationOption MSBuild-objekt i stället. Använd runtimeconfig.json inställningsnamnet som värdet för attributetInclude. Ett exempel finns i MSBuild-egenskaper.