Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
HTTP/2-Protokoll
- Konfiguriert, ob die Unterstützung für das HTTP/2-Protokoll aktiviert ist.
- Wenn Sie diese Einstellung weglassen, ist die Unterstützung für das HTTP/2-Protokoll aktiviert. Dies entspricht der Einstellung des Werts auf
true.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.SocketsHttpHandler.Http2Support |
false – deaktivierttrue – aktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT |
0 – deaktiviert1 – aktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
HTTP/3-Protokoll
- Ab .NET 7 ist HTTP/3 standardmäßig aktiviert.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.Http3Support |
false -Deaktiviert true – aktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT |
0 – deaktiviert1 – aktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
SPN-Erstellung in HttpClient (.NET 6 und höher)
- Wirkt sich auf die Generierung von Dienstprinzipalnamen (SPN) für Kerberos- und NTLM-Authentifizierung aus, wenn
Hostder Header fehlt und das Ziel nicht auf dem Standardport ausgeführt wird. - .NET 6 und höhere Versionen enthalten nicht standardmäßig den Port im SPN. Das Verhalten kann jedoch konfiguriert werden.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.UsePortInSpn |
true - Portnummer in SPN einschließen, z. B. HTTP/host:portfalse - Schließen Sie beispielsweise keinen Port in SPN ein, HTTP/host |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN |
1 - Portnummer in SPN einschließen, z. B. HTTP/host:port0 - Schließen Sie beispielsweise keinen Port in SPN ein, HTTP/host |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
DYNAMISCHE Fensterskalierung von HTTP/2
- Konfiguriert, ob der dynamische HTTP/2-Fensterskalierungsalgorithmus für die Flusssteuerung deaktiviert ist. Der Algorithmus ist standardmäßig aktiviert.
- Bei Festlegung auf
true" ist der Algorithmus für die dynamische Fensterskalierung deaktiviert.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing |
false - aktiviert (Standard)true – deaktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING |
0 - aktiviert (Standard)1 – deaktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
HTTP/2-Datenstrom empfangen Fenstergröße
- Konfiguriert die maximale Größe des HTTP/2-Datenstrom-Empfangsfensters.
- Der Standardwert ist 16 MB. Die Werte unter 65.535 werden auf 65.535 geklemmt. Es gibt keine harte Obergrenze, aber das Erhöhen dieser Einstellung über den Standardwert hinaus ist nur für Netzwerke nützlich, die sowohl hohen Durchsatz als auch hohe Latenz aufweisen.
| Einstellungsname | Werte | |
|---|---|---|
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE |
Ganze Zahl (Standard: 16 MB; Minimum: 65.535) |
HTTP/2-Datenstromfenster-Skalierungsschwellenwert
- Konfiguriert den Multiplikator, der steuert, wie aggressiv das HTTP/2-Stream-Empfangen-Fenster wächst. Höhere Werte führen zu einem konservativeren Fensterwachstum, wodurch der Spitzendurchsatz reduziert wird.
- Der Standardwert ist 1.0. Werte unter 0 werden auf den Standardwert zurückgesetzt. Es gibt keine harte Obergrenze, aber Werte weit über dem standardmäßigen progressiven Grenzwert pro Anforderungsdurchsatz.
Hinweis
Diese Einstellung ist für erweiterte Diagnose und interne Optimierung vorgesehen. Die meisten Entwickler müssen sie nicht ändern.
| Einstellungsname | Werte | |
|---|---|---|
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER |
Float (Standard: 1.0; Minimum: 0) |
HTTP-Aktivitätsverteilung
Konfiguriert, ob die Verteilung verteilter Ablaufverfolgungsaktivitäten aktiviert HttpClientist. Wenn diese Option aktiviert ist, verteilen ausgehende HTTP-Anforderungen Ablaufverfolgungskontextheader (z traceparent. B. ) für verteilte Ablaufverfolgungstools wie OpenTelemetry.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.EnableActivityPropagation |
true - aktiviert (Standard)false – deaktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION |
1 - aktiviert (Standard)0 – deaktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
Timeout für ausstehende Verbindung beim Abschluss der Anforderung
Konfiguriert das Timeout (in Millisekunden) für das Abschließen eines ausstehenden Verbindungsversuchs, nachdem die initiierende HTTP-Anforderung abgeschlossen wurde. Wenn nach Abschluss der Anforderung noch eine Verbindung hergestellt wird, bestimmt dieses Timeout, wie lange gewartet werden soll, bevor der Verbindungsversuch abgebrochen wird.
- Standardwert ist
5000(5 Sekunden). - Legen Sie fest, dass sie
-1auf unbestimmte Zeit warten soll, bis die Verbindung abgeschlossen ist. - Legen Sie fest,
0dass die ausstehende Verbindung sofort abgebrochen wird, wenn die Anforderung abgeschlossen ist. - Es gibt keine harte Obergrenze, aber sehr große Werte sind unpraktisch.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion |
Ganze Zahl (Standard: 5000) |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION |
Ganze Zahl (Standard: 5000) |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
Proxyvorauthentifizierung
Wenn diese Option aktiviert ist, sendet Basic proaktiv Proxyauthentifizierungsanmeldeinformationen für die erste Anforderung, SocketsHttpHandler anstatt auf eine 407 Abfrageantwort vom Proxy zu warten. Dies ist nützlich für Proxys, die keine Abfrageantworten senden 407 .
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate |
false - deaktiviert (Standard)true – aktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE |
0 - deaktiviert (Standard)1 – aktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
Maximale Anzahl von Verbindungen pro Server
Konfiguriert die maximale Anzahl gleichzeitiger TCP-Verbindungen, die SocketsHttpHandler mit einem einzelnen Server geöffnet werden. Der Handler ignoriert Werte kleiner als 1 und verwendet den Standardwert.
- Der Standardwert ist auf unbegrenzt (
int.MaxValue).
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.MaxConnectionsPerServer |
Ganze Zahl (Standard: unbegrenzt) |
| Umgebungsvariable | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER |
Ganze Zahl (Standard: unbegrenzt) |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
Socket-Inline-Fertigstellungen
Konfiguriert, ob Socketfortsetzungen im Ereignisthread ausgeführt werden dürfen, anstatt an den System.Threading.ThreadPool. Wenn Sie diese Einstellung aktivieren, kann die Leistung in einigen Szenarien verbessert werden. Es kann jedoch die Leistung beeinträchtigen, wenn teure Arbeit den E/A-Thread länger als erforderlich hält.
Hinweis
Testen Sie, um sicherzustellen, dass die Aktivierung dieser Einstellung die Leistung in Ihrem spezifischen Szenario unterstützt.
| Einstellungsname | Werte | |
|---|---|---|
| Umgebungsvariable | DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS |
0 - deaktiviert (Standard)1 – aktiviert |
Socketthreadanzahl
Konfiguriert die Anzahl der Threads, die für Socket-E/A verwendet werden. Wenn der Wert nicht außer Kraft gesetzt wird, wird der Wert basierend auf der Prozessoranzahl und -architektur berechnet. Praktische Werte befinden sich im Bereich [1, ProcessorCount]. Werte außerhalb dieses Bereichs werden nicht abgelehnt, sind aber unwahrscheinlich, dass die Leistung verbessert wird.
Hinweis
Diese Einstellung ist für Extreme Load-Szenarien vorgesehen. Die meisten Entwickler müssen sie nicht ändern.
| Einstellungsname | Werte | |
|---|---|---|
| Umgebungsvariable | DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT |
Integer |
IPv6
Konfiguriert, ob die Internetprotokollversion 6 (IPv6) deaktiviert ist.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.DisableIPv6 |
false - aktiviert (Standard)true – deaktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_DISABLEIPV6 |
0 - aktiviert (Standard)1 – deaktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
TLS-Sitzungswiederaufnahme
Steuern, ob die Wiederaufnahme der TLS-Sitzung die Wiederaufnahme der TLS-Sitzung deaktiviert SslStream. Die Wiederaufnahme von Sitzungen ermöglicht TLS-Wiederverbindungen, einen vollständigen Handshake zu überspringen, indem zuvor ausgehandelte Sitzungsparameter wiederverwenden, wodurch die Latenz reduziert wird.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Security.DisableTlsResume |
false - aktiviert (Standard)true – deaktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME |
0 - aktiviert (Standard)1 – deaktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
Server-AIA-Downloads
Wenn diese Option aktiviert ist, lädt der TLS-Client automatisch Zwischenzertifikate aus AIA-Erweiterungs-URLs (Authority Information Access) in Serverzertifikaten herunter. Dadurch kann der Client auch dann eine vollständige Zertifikatkette erstellen, wenn der Server die vollständige Kette nicht sendet.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Security.EnableServerAiaDownloads |
false - deaktiviert (Standard)true – aktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS |
0 - deaktiviert (Standard)1 – aktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
QUIC-Konfigurationszwischenspeicherung
Deaktiviert das Zwischenspeichern von MsQuic-Konfigurationsobjekten. Wenn diese Option aktiviert ist (Standard), speichert und verwendet das System Konfigurationsobjekte über Verbindungen hinweg, wodurch der Mehraufwand für tls- und QUIC-Setup für wiederholte Verbindungen mit denselben Parametern reduziert wird.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Quic.DisableConfigurationCache |
false - Zwischenspeicherung aktiviert (Standard)true - Zwischenspeicherung deaktiviert |
| Umgebungsvariable | DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE |
0 - Zwischenspeicherung aktiviert (Standard)1 - Zwischenspeicherung deaktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
App-local MsQuic (Windows)
Wenn diese Option aktiviert ist, verwendet die QUIC-Implementierung die MsQuic-Bibliothek aus dem Anwendungsverzeichnis anstelle der vom System bereitgestellten Bibliothek, die mit der .NET-Assembly gebündelt ist.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.Quic.AppLocalMsQuic |
false - System MsQuic verwenden (Standard)true - Verwenden von app-local MsQuic |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.
HttpListener-Kernelantwortpufferung (Windows)
Wenn diese Option aktiviert ist, HttpListener werden Die Antwortdaten im Kernel über HTTP.sysgepuffert. Die Kernelpufferung kann den Durchsatz über Verbindungen mit hoher Latenz für Anwendungen erheblich verbessern, die synchrone E/A oder asynchrone E/A mit höchstens einem herausragenden Schreibvorgang gleichzeitig verwenden. Aktivieren Sie diese Einstellung nicht für Anwendungen mit mehreren gleichzeitigen ausstehenden Schreibvorgängen.
Hinweis
Das Aktivieren des Kernelantwortpuffers kann zu einer höheren CPU- und Speicherauslastung durch HTTP.sysführen.
| Einstellungsname | Werte | |
|---|---|---|
| runtimeconfig.json | System.Net.HttpListener.EnableKernelResponseBuffering |
false - deaktiviert (Standard)true – aktiviert |
Diese Konfigurationseinstellung verfügt nicht über eine bestimmte MSBuild-Eigenschaft. Sie können jedoch stattdessen ein RuntimeHostConfigurationOption-MSBuild-Element hinzufügen. Verwenden Sie den Einstellungsnamen runtimeconfig.json als Wert des Include-Attributs. Ein Beispiel finden Sie unter MSBuild-Eigenschaften.