Delen via


Runtimeconfiguratieopties voor netwerken

HTTP/2-protocol

  • Hiermee configureert u of ondersteuning voor het HTTP/2-protocol is ingeschakeld.
  • Als u deze instelling weglaat, is ondersteuning voor het HTTP/2-protocol ingeschakeld. Dit komt overeen met het instellen van de waarde op true.
Instellingsnaam Waarden
runtimeconfig.json System.Net.Http.SocketsHttpHandler.Http2Support false -invalide
true -Ingeschakeld
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 0 -invalide
1 -Ingeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

HTTP/3-protocol

  • Vanaf .NET 7 is HTTP/3 standaard ingeschakeld.
Instellingsnaam Waarden
runtimeconfig.json System.Net.SocketsHttpHandler.Http3Support false -Handicap
true -Ingeschakeld
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT 0 -invalide
1 -Ingeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

SPN maken in HttpClient (.NET 6 en hoger)

  • Beïnvloedt het genereren van service-principalnamen (SPN) voor Kerberos- en NTLM-verificatie wanneer Host header ontbreekt en het doel niet wordt uitgevoerd op de standaardpoort.
  • .NET 6 en latere versies bevatten standaard niet de poort in de SPN. Het gedrag kan echter worden geconfigureerd.
Instellingsnaam Waarden
runtimeconfig.json System.Net.Http.UsePortInSpn true - poortnummer opnemen in SPN, bijvoorbeeld HTTP/host:port
false - neem geen poort op in SPN, bijvoorbeeld HTTP/host
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN 1 - poortnummer opnemen in SPN, bijvoorbeeld HTTP/host:port
0 - neem geen poort op in SPN, bijvoorbeeld HTTP/host

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Dynamisch schalen van HTTP/2-vensters

  • Hiermee configureert u of het algoritme voor dynamisch schalen van http/2-vensters is uitgeschakeld voor stroombeheer. Het algoritme is standaard ingeschakeld.
  • Als dit is ingesteld true, wordt het algoritme voor dynamisch schalen van vensters uitgeschakeld.
Instellingsnaam Waarden
runtimeconfig.json System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing false - ingeschakeld (standaard)
true -invalide
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING 0 - ingeschakeld (standaard)
1 -invalide

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Grootte van http/2-stream ontvangen venster

  • Hiermee configureert u de maximale grootte van het ontvangstvenster van de HTTP/2-stream.
  • De standaardwaarde is 16 MB. Waarden onder 65.535 worden vastgeklemd tot 65.535. Er is geen vaste bovengrens, maar het verhogen van deze instelling buiten de standaardinstelling is alleen nuttig voor netwerken die zowel hoge doorvoer als hoge latentie hebben.
Instellingsnaam Waarden
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE Geheel getal (standaard: 16 MB; minimum: 65.535)

Drempelwaarde voor http/2-stroomvensterschaal

  • Hiermee configureert u de vermenigvuldiger waarmee wordt gecontroleerd hoe agressief het HTTP/2-venster voor stream-receive toeneemt. Hogere waarden resulteren in een meer conservatieve groei van vensters, waardoor piekdoorvoer wordt verminderd.
  • De standaardwaarde is 1.0. Waarden onder 0 worden opnieuw ingesteld op de standaardwaarde. Er is geen harde bovengrens, maar waarden die veel boven de standaardlimiet liggen, beperken de doorvoer per aanvraag geleidelijk.

Opmerking

Deze instelling is bedoeld voor geavanceerde diagnostische gegevens en interne afstemming. De meeste ontwikkelaars hoeven deze niet te wijzigen.

Instellingsnaam Waarden
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER Float (standaard: 1,0; minimum: 0)

HTTP-activiteit doorgeven

Hiermee configureert u of doorgifte van gedistribueerde traceringsactiviteiten is ingeschakeld voor HttpClient. Wanneer deze functie is ingeschakeld, worden uitgaande HTTP-aanvragen traceringscontextheaders (zoals traceparent) doorgegeven voor gedistribueerde traceringshulpprogramma's zoals OpenTelemetry.

Instellingsnaam Waarden
runtimeconfig.json System.Net.Http.EnableActivityPropagation true - ingeschakeld (standaard)
false -invalide
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 1 - ingeschakeld (standaard)
0 -invalide

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Time-out voor verbinding in behandeling bij voltooiing van aanvraag

Hiermee configureert u de time-out (in milliseconden) voor het voltooien van een verbindingspoging die in behandeling is nadat de initiërende HTTP-aanvraag is voltooid. Wanneer er nog steeds een verbinding tot stand wordt gebracht nadat de aanvraag is voltooid, bepaalt deze time-out hoe lang moet worden gewacht voordat de verbindingspoging wordt afgelaten.

  • Standaard ingesteld op 5000 (5 seconden).
  • Ingesteld om -1 voor onbepaalde tijd te wachten totdat de verbinding is voltooid.
  • Ingesteld om 0 de in behandeling zijnde verbinding onmiddellijk te annuleren wanneer de aanvraag is voltooid.
  • Er is geen harde bovengrens, maar zeer grote waarden zijn onpraktisch.
Instellingsnaam Waarden
runtimeconfig.json System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion Geheel getal (standaard: 5000)
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION Geheel getal (standaard: 5000)

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Proxy-verificatie vooraf

Wanneer deze optie is ingeschakeld, SocketsHttpHandler verzendt Basic u proactief referenties voor proxyverificatie op de eerste aanvraag in plaats van te wachten op een 407 antwoord van de proxy. Dit is handig voor proxy's die geen antwoorden voor uitdagingen verzenden 407 .

Instellingsnaam Waarden
runtimeconfig.json System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate false - uitgeschakeld (standaard)
true -Ingeschakeld
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE 0 - uitgeschakeld (standaard)
1 -Ingeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Maximum aantal verbindingen per server

Hiermee configureert u het maximum aantal gelijktijdige TCP-verbindingen dat SocketsHttpHandler wordt geopend op één server. De handler negeert waarden die kleiner zijn dan 1 en gebruikt de standaardwaarde.

  • Standaard ingesteld op onbeperkt (int.MaxValue).
Instellingsnaam Waarden
runtimeconfig.json System.Net.SocketsHttpHandler.MaxConnectionsPerServer Geheel getal (standaard: onbeperkt)
Omgevingsvariabele DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER Geheel getal (standaard: onbeperkt)

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Binnenlijnsvoltooiingen van sockets

Hiermee configureert u of socketvervolgingen mogen worden uitgevoerd op de gebeurtenisthread in plaats van naar de System.Threading.ThreadPoolthread te worden verzonden. Als u deze instelling inschakelt, kunnen de prestaties in sommige scenario's worden verbeterd. Het kan echter de prestaties verminderen als duur werk de I/O-thread langer bevat dan nodig is.

Opmerking

Test om ervoor te zorgen dat het inschakelen van deze instelling de prestaties in uw specifieke scenario helpt.

Instellingsnaam Waarden
Omgevingsvariabele DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS 0 - uitgeschakeld (standaard)
1 -Ingeschakeld

Aantal socketthreads

Hiermee configureert u het aantal threads dat wordt gebruikt voor socket-I/O. Wanneer deze niet wordt overschreven, wordt de waarde berekend op basis van het aantal processoren en de architectuur. Praktische waarden bevinden zich in het bereik [1, ProcessorCount]. Waarden buiten dit bereik worden niet geweigerd, maar zijn onwaarschijnlijk dat de prestaties worden verbeterd.

Opmerking

Deze instelling is bedoeld voor scenario's met extreme belasting. De meeste ontwikkelaars hoeven deze niet te wijzigen.

Instellingsnaam Waarden
Omgevingsvariabele DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT Integer

IPv6

Hiermee configureert u of Internet Protocol versie 6 (IPv6) is uitgeschakeld.

Instellingsnaam Waarden
runtimeconfig.json System.Net.DisableIPv6 false - ingeschakeld (standaard)
true -invalide
Omgevingsvariabele DOTNET_SYSTEM_NET_DISABLEIPV6 0 - ingeschakeld (standaard)
1 -invalide

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

Hervatting van TLS-sessie

Bepalen of TLS-sessiesamenvatting tls-sessie hervatten uitschakelt voor SslStream. Met sessiesamenvatting kunnen TLS-verbindingen een volledige handshake overslaan door eerder onderhandelde sessieparameters opnieuw te gebruiken, waardoor de latentie wordt verminderd.

Instellingsnaam Waarden
runtimeconfig.json System.Net.Security.DisableTlsResume false - ingeschakeld (standaard)
true -invalide
Omgevingsvariabele DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME 0 - ingeschakeld (standaard)
1 -invalide

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

AIA-downloads voor server

Wanneer deze functie is ingeschakeld, downloadt de TLS-client automatisch tussenliggende certificaten van extensie-URL's van Authority Information Access (AIA) in servercertificaten. Hierdoor kan de client een volledige certificaatketen bouwen, zelfs wanneer de server de volledige keten niet verzendt.

Instellingsnaam Waarden
runtimeconfig.json System.Net.Security.EnableServerAiaDownloads false - uitgeschakeld (standaard)
true -Ingeschakeld
Omgevingsvariabele DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS 0 - uitgeschakeld (standaard)
1 -Ingeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

QUIC-configuratiecaching

Hiermee schakelt u opslaan in cache van MsQuic-configuratieobjecten uit. Als deze optie is ingeschakeld (standaard), slaat het systeem configuratieobjecten in de cache op en hergebruikt deze opnieuw voor verbindingen, waardoor de overhead van TLS- en QUIC-instellingen voor herhaalde verbindingen met dezelfde parameters wordt verminderd.

Instellingsnaam Waarden
runtimeconfig.json System.Net.Quic.DisableConfigurationCache false - caching ingeschakeld (standaard)
true - caching uitgeschakeld
Omgevingsvariabele DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE 0 - caching ingeschakeld (standaard)
1 - caching uitgeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

App-lokale MsQuic (Windows)

Wanneer deze optie is ingeschakeld, gebruikt de QUIC-implementatie de MsQuic-bibliotheek uit de toepassingsmap in plaats van de door het systeem geleverde bibliotheek die is gebundeld met de .NET-assembly.

Instellingsnaam Waarden
runtimeconfig.json System.Net.Quic.AppLocalMsQuic false - systeem MsQuic gebruiken (standaard)
true - app-lokale MsQuic gebruiken

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.

HttpListener-kernelresponsbuffering (Windows)

Indien ingeschakeld, HttpListener buffert reactiegegevens in de kernel via HTTP.sys. Kernelbuffering kan de doorvoer aanzienlijk verbeteren via verbindingen met hoge latentie voor toepassingen die synchrone I/O of asynchrone I/O gebruiken met maximaal één uitstekende schrijfbewerking tegelijk. Schakel deze instelling niet in voor toepassingen met meerdere gelijktijdige openstaande schrijfbewerkingen.

Opmerking

Het inschakelen van kernelresponsbuffers kan leiden tot een hoger CPU- en geheugengebruik door HTTP.sys.

Instellingsnaam Waarden
runtimeconfig.json System.Net.HttpListener.EnableKernelResponseBuffering false - uitgeschakeld (standaard)
true -Ingeschakeld

Deze configuratie-instelling heeft geen specifieke MSBuild-eigenschap. U kunt echter in plaats daarvan een RuntimeHostConfigurationOption MSBuild-item toevoegen. Gebruik de naam van de instelling runtimeconfig.json als de waarde van het Include kenmerk. Zie MSBuild-eigenschappen voor een voorbeeld.