Megosztás a következőn keresztül:


Futtatókörnyezet konfigurációs beállításai a hálózatkezeléshez

HTTP/2 protokoll

  • Konfigurálja, hogy engedélyezve van-e a HTTP/2 protokoll támogatása.
  • Ha kihagyja ezt a beállítást, a HTTP/2 protokoll támogatása engedélyezve van. Ez egyenértékű az érték truebeállításával.
Név beállítása Értékek
runtimeconfig.json System.Net.Http.SocketsHttpHandler.Http2Support false -fogyatékos
true -Engedélyezve
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 0 -fogyatékos
1 -Engedélyezve

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

HTTP/3 protokoll

  • A .NET 7-től kezdve a HTTP/3 alapértelmezés szerint engedélyezve van.
Név beállítása Értékek
runtimeconfig.json System.Net.SocketsHttpHandler.Http3Support false -Tiltva
true -Engedélyezve
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT 0 -fogyatékos
1 -Engedélyezve

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

SPN-létrehozás a HttpClientben (.NET 6-os és újabb verziókban)

  • Hatással van a Kerberos- és NTLM-hitelesítés szolgáltatásnévi (SPN)-jének létrehozására, ha Host hiányzik a fejléc, és a cél nem fut az alapértelmezett porton.
  • A .NET 6-os és újabb verziói alapértelmezés szerint nem tartalmazzák a portot az SPN-ben. A viselkedés azonban konfigurálható.
Név beállítása Értékek
runtimeconfig.json System.Net.Http.UsePortInSpn true - a portszám belefoglalása az egyszerű szolgáltatásnévbe, például HTTP/host:port
false - ne tartalmazza a portot az egyszerű szolgáltatásnévben, például: HTTP/host
Környezeti változó DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN 1 - a portszám belefoglalása az egyszerű szolgáltatásnévbe, például HTTP/host:port
0 - ne tartalmazza a portot az egyszerű szolgáltatásnévben, például: HTTP/host

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

HTTP/2 dinamikus ablakméretezés

  • Konfigurálja, hogy a HTTP/2 dinamikus ablakméretezési algoritmus le van-e tiltva a folyamatvezérléshez. Az algoritmus alapértelmezés szerint engedélyezve van.
  • Ha be van trueállítva, a dinamikus ablakméretezési algoritmus le van tiltva.
Név beállítása Értékek
runtimeconfig.json System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing false - engedélyezve (alapértelmezett)
true -fogyatékos
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING 0 - engedélyezve (alapértelmezett)
1 -fogyatékos

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

HTTP/2 stream fogadása ablakméret

  • A HTTP/2 stream fogadási ablakának maximális méretét konfigurálja.
  • Alapértelmezés szerint 16 MB. A 65 535 alatti értékek 65 535-höz vannak rögzítve. Nincs szigorú felső korlát, de ennek a beállításnak az alapértelmezett értéken túli növelése csak a nagy átviteli sebességet és a nagy késést tartalmazó hálózatok esetében előnyös.
Név beállítása Értékek
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE Egész szám (alapértelmezett: 16 MB; minimum: 65 535)

HTTP/2 streamablak méretezési küszöbértéke

  • Konfigurálja azt a szorzót, amely a HTTP/2 stream fogadási ablakának agresszív növekedését szabályozza. A magasabb értékek konzervatívabb ablaknövekedést eredményeznek, ami csökkenti a csúcsteljesítményt.
  • Alapértelmezett érték: 1.0. A 0 alatti értékek alaphelyzetbe állnak az alapértelmezett értékre. Nincs szigorú felső korlát, de a kérelmek átviteli sebességére vonatkozó alapértelmezett korlátnál jóval magasabb értékek.

Megjegyzés:

Ez a beállítás speciális diagnosztikára és belső hangolásra szolgál. A legtöbb fejlesztőnek nem kell módosítania.

Név beállítása Értékek
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER Lebegőpontos (alapértelmezett: 1,0; minimum: 0)

HTTP-tevékenység propagálása

Azt konfigurálja, hogy engedélyezve HttpClientvan-e az elosztott nyomkövetési tevékenység propagálása. Ha engedélyezve van, a kimenő HTTP-kérések a nyomkövetési környezet fejléceit (például traceparent) terjesztik az elosztott nyomkövetési eszközökhöz, például az OpenTelemetryhez.

Név beállítása Értékek
runtimeconfig.json System.Net.Http.EnableActivityPropagation true - engedélyezve (alapértelmezett)
false -fogyatékos
Környezeti változó DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 1 - engedélyezve (alapértelmezett)
0 -fogyatékos

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Függőben lévő kapcsolat időtúllépése a kérelem befejezésekor

Konfigurálja az időtúllépést (ezredmásodpercben) egy függőben lévő kapcsolati kísérlet végrehajtásához a HTTP-kérés kezdeményezése után. Ha a kérés befejeződése után is létrejön egy kapcsolat, ez az időtúllépés határozza meg, hogy mennyi ideig kell várni a kapcsolati kísérlet megszakítása előtt.

  • Alapértelmezés szerint 5000 (5 másodperc).
  • Állítsa be -1 , hogy határozatlan ideig várjon, amíg a kapcsolat befejeződik.
  • Állítsa be, hogy 0 a függőben lévő kapcsolatot azonnal megszakítsa, amikor a kérés befejeződik.
  • Nincs szigorú felső korlát, de a nagyon nagy értékek nem praktikusak.
Név beállítása Értékek
runtimeconfig.json System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion Egész szám (alapértelmezett: 5000)
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION Egész szám (alapértelmezett: 5000)

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Proxyelőhitelesítés

Ha engedélyezve van, proaktív módon küld proxyhitelesítési Basic hitelesítő adatokat az első kérelemre ahelyett, SocketsHttpHandler hogy a proxytól várnál egy 407 kihívásra adott választ. Ez olyan proxyk esetében hasznos, amelyek nem küldenek 407 kihívást.

Név beállítása Értékek
runtimeconfig.json System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate false - letiltva (alapértelmezett)
true -Engedélyezve
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE 0 - letiltva (alapértelmezett)
1 -Engedélyezve

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Kiszolgálónkénti kapcsolatok maximális száma

Konfigurálja az egy kiszolgálón megnyíló egyidejű TCP-kapcsolatok SocketsHttpHandler maximális számát. A kezelő figyelmen kívül hagyja az alapértelmezettnél 1 kisebb értékeket.

  • Alapértelmezés szerint korlátlan (int.MaxValue).
Név beállítása Értékek
runtimeconfig.json System.Net.SocketsHttpHandler.MaxConnectionsPerServer Egész szám (alapértelmezett: korlátlan)
Környezeti változó DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER Egész szám (alapértelmezett: korlátlan)

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Szoftvercsatorna beágyazott befejezései

Konfigurálja, hogy a szoftvercsatorna-folytatások futtathatók-e az eseményszálon ahelyett, hogy a rendszer a System.Threading.ThreadPool. A beállítás engedélyezése bizonyos esetekben javíthatja a teljesítményt. Ez azonban ronthatja a teljesítményt, ha a költséges munka a szükségesnél hosszabb ideig tárolja az I/O-szálat.

Megjegyzés:

Tesztelje, hogy a beállítás engedélyezése segít-e a teljesítményben az adott forgatókönyvben.

Név beállítása Értékek
Környezeti változó DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS 0 - letiltva (alapértelmezett)
1 -Engedélyezve

Szoftvercsatornák szálszáma

Konfigurálja a szoftvercsatorna I/O-hoz használt szálak számát. Ha nincs felülírva, az érték kiszámítása a processzorszám és az architektúra alapján történik. A gyakorlati értékek a tartományban [1, ProcessorCount]vannak. Az ezen a tartományon kívüli értékek nem lesznek elutasítva, de valószínűleg nem javítják a teljesítményt.

Megjegyzés:

Ez a beállítás szélsőséges terheléses forgatókönyvekhez készült. A legtöbb fejlesztőnek nem kell módosítania.

Név beállítása Értékek
Környezeti változó DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT Egész szám

IPv6

Konfigurálja, hogy az Internet Protocol 6-os verziója (IPv6) le van-e tiltva.

Név beállítása Értékek
runtimeconfig.json System.Net.DisableIPv6 false - engedélyezve (alapértelmezett)
true -fogyatékos
Környezeti változó DOTNET_SYSTEM_NET_DISABLEIPV6 0 - engedélyezve (alapértelmezett)
1 -fogyatékos

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

TLS-munkamenet újraindítása

Annak szabályozása, hogy a TLS-munkamenet újraindítása letiltja-e a TLS-munkamenet újraindítását.SslStream A munkamenet-újrakezdés lehetővé teszi, hogy a TLS újracsatlakoztatásai kihagyják a teljes kézfogást a korábban egyeztetett munkamenetparaméterek újrafelhasználásával, ami csökkenti a késést.

Név beállítása Értékek
runtimeconfig.json System.Net.Security.DisableTlsResume false - engedélyezve (alapértelmezett)
true -fogyatékos
Környezeti változó DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME 0 - engedélyezve (alapértelmezett)
1 -fogyatékos

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Server AIA-letöltések

Ha engedélyezve van, a TLS-ügyfél automatikusan letölti a köztes tanúsítványokat a kiszolgálótanúsítványokban lévő Authority Information Access (AIA) bővítmény URL-címéről. Így az ügyfél akkor is létrehozhat egy teljes tanúsítványláncot, ha a kiszolgáló nem küldi el a teljes láncot.

Név beállítása Értékek
runtimeconfig.json System.Net.Security.EnableServerAiaDownloads false - letiltva (alapértelmezett)
true -Engedélyezve
Környezeti változó DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS 0 - letiltva (alapértelmezett)
1 -Engedélyezve

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

QUIC-konfiguráció gyorsítótárazása

Letiltja az MsQuic konfigurációs objektumok gyorsítótárazását. Ha engedélyezve van (alapértelmezett), a rendszer gyorsítótárazza és újra felhasználja a konfigurációs objektumokat a kapcsolatok között, ami csökkenti a TLS és a QUIC beállításának többletterhelését az azonos paraméterekkel rendelkező ismétlődő kapcsolatok esetében.

Név beállítása Értékek
runtimeconfig.json System.Net.Quic.DisableConfigurationCache false - a gyorsítótárazás engedélyezve van (alapértelmezett)
true - a gyorsítótárazás le van tiltva
Környezeti változó DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE 0 - a gyorsítótárazás engedélyezve van (alapértelmezett)
1 - a gyorsítótárazás le van tiltva

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

Alkalmazás helyi MsQuic (Windows)

Ha engedélyezve van, a QUIC-implementáció a .NET-szerelvényhez mellékelt rendszer által biztosított kódtár helyett az alkalmazáskönyvtárból származó MsQuic-kódtárat használja.

Név beállítása Értékek
runtimeconfig.json System.Net.Quic.AppLocalMsQuic false - az MsQuic rendszer használata (alapértelmezett)
true - alkalmazás helyi MsQuic használata

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.

HttpListener kernel válasz pufferelése (Windows)

Ha engedélyezve van, HttpListener a rendszermag válaszadatait puffereli a HTTP.sys. A kernelpufferelés jelentősen javíthatja a nagy késésű kapcsolatok átviteli sebességét olyan alkalmazások esetében, amelyek szinkron I/O-t vagy aszinkron I/O-t használnak, és egyszerre legfeljebb egy kiemelkedő írást használnak. Ne engedélyezze ezt a beállítást több egyidejűleg nem függő írással rendelkező alkalmazások esetében.

Megjegyzés:

A kernel válaszpufferezésének engedélyezése magasabb processzor- és memóriahasználatot eredményezhet HTTP.sys.

Név beállítása Értékek
runtimeconfig.json System.Net.HttpListener.EnableKernelResponseBuffering false - letiltva (alapértelmezett)
true -Engedélyezve

Ez a konfigurációs beállítás nem tartalmaz adott MSBuild tulajdonságot. Ehelyett azonban hozzáadhat egy RuntimeHostConfigurationOption MSBuild elemet. Az attribútum értékeként használja a Include beállításnevet. Példa: MSBuild properties.