Aracılığıyla paylaş


Ağ için çalışma zamanı yapılandırma seçenekleri

HTTP/2 protokolü

  • HTTP/2 protokolü desteğinin etkinleştirilip etkinleştirilmediğini yapılandırılır.
  • Bu ayarı atlarsanız HTTP/2 protokolü desteği etkinleştirilir. Bu, değerini trueolarak ayarlamakla eşdeğerdir.
Ayarın adı Değerler
runtimeconfig.json System.Net.Http.SocketsHttpHandler.Http2Support false -sakat
true -Etkin
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT 0 -sakat
1 -Etkin

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

HTTP/3 protokolü

  • .NET 7'den başlayarak HTTP/3 varsayılan olarak etkindir.
Ayarın adı Değerler
runtimeconfig.json System.Net.SocketsHttpHandler.Http3Support false -Devre dışı
true -Etkin
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT 0 -sakat
1 -Etkin

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

HttpClient'da SPN oluşturma (.NET 6 ve üzeri)

  • Üst bilgi eksik olduğunda ve hedef varsayılan bağlantı noktasında çalışmadığında Host Kerberos ve NTLM kimlik doğrulaması için hizmet asıl adlarının (SPN) oluşturulmasını etkiler.
  • .NET 6 ve sonraki sürümleri varsayılan olarak SPN'de bağlantı noktasını içermez. Ancak, davranış yapılandırılabilir.
Ayarın adı Değerler
runtimeconfig.json System.Net.Http.UsePortInSpn true - SPN'de bağlantı noktası numarasını ekleyin, örneğin, HTTP/host:port
false - SPN'ye bağlantı noktası eklemeyin, örneğin, HTTP/host
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN 1 - SPN'de bağlantı noktası numarasını ekleyin, örneğin, HTTP/host:port
0 - SPN'ye bağlantı noktası eklemeyin, örneğin, HTTP/host

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

HTTP/2 dinamik pencere ölçeklendirme

  • Akış denetimi için HTTP/2 dinamik pencere ölçeklendirme algoritmasının devre dışı bırakılıp devre dışı bırakılmayacağını yapılandırılır. Algoritma varsayılan olarak etkindir.
  • olarak trueayarlandığında dinamik pencere ölçeklendirme algoritması devre dışı bırakılır.
Ayarın adı Değerler
runtimeconfig.json System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing false - etkin (varsayılan)
true -sakat
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING 0 - etkin (varsayılan)
1 -sakat

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

HTTP/2 akışı alma penceresi boyutu

  • HTTP/2 akışı alma penceresinin en büyük boyutunu yapılandırılır.
  • Varsayılan değer 16 MB'tır. 65.535'in altındaki değerler 65.535'e sıkıştırılır. Sabit üst sınır yoktur, ancak bu ayarı varsayılanın ötesine yükseltmek yalnızca hem yüksek aktarım hızı hem de yüksek gecikme süresi olan ağlarda faydalıdır.
Ayarın adı Değerler
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE Tamsayı (varsayılan: 16 MB; en az: 65.535)

HTTP/2 akış penceresi ölçek eşiği

  • HTTP/2 akış alma penceresinin ne kadar agresif bir şekilde büyüdüğünü denetleyerek çarpanı yapılandırır. Daha yüksek değerler, en yüksek aktarım hızını azaltan daha muhafazakar bir pencere büyümesine neden olur.
  • Varsayılan değer 1.0'dır. 0'ın altındaki değerler varsayılana sıfırlanır. Sabit üst sınır yoktur, ancak varsayılan aşamalı olarak istek başına aktarım hızının çok üzerinde değerler vardır.

Uyarı

Bu ayar gelişmiş tanılama ve iç ayarlama için tasarlanmıştır. Çoğu geliştiricinin bunu değiştirmesi gerekmez.

Ayarın adı Değerler
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER Float (varsayılan: 1.0; en az: 0)

HTTP etkinliği yayma

dağıtılmış izleme etkinliği yayma özelliğinin için HttpClientetkinleştirilip etkinleştirilmediğini yapılandırılır. Etkinleştirildiğinde, giden HTTP istekleri OpenTelemetry gibi dağıtılmış izleme araçları için izleme bağlamı üst bilgilerini (örneğin traceparent) yayılım.

Ayarın adı Değerler
runtimeconfig.json System.Net.Http.EnableActivityPropagation true - etkin (varsayılan)
false -sakat
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION 1 - etkin (varsayılan)
0 -sakat

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

İstek tamamlandığında bağlantı zaman aşımı bekleniyor

Başlatma HTTP isteği tamamlandıktan sonra bekleyen bir bağlantı girişimini tamamlamak için zaman aşımını (milisaniye olarak) yapılandırılır. İstek tamamlandıktan sonra bir bağlantı hala kurulurken, bu zaman aşımı bağlantı girişimini bırakmadan önce ne kadar süre bekleneceğini belirler.

  • varsayılan değeri 5000 (5 saniye).
  • Bağlantı tamamlanana -1 kadar süresiz olarak beklemek için olarak ayarlayın.
  • 0 İstek tamamlandığında bekleyen bağlantıyı hemen iptal etmek için olarak ayarlayın.
  • Sabit üst sınır yoktur, ancak çok büyük değerler pratik değildir.
Ayarın adı Değerler
runtimeconfig.json System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion Tamsayı (varsayılan: 5000)
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION Tamsayı (varsayılan: 5000)

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

Ara sunucu ön kimlik doğrulaması

Etkinleştirildiğinde, SocketsHttpHandler proxy'den sınama yanıtı beklemek yerine ilk istekte proaktif olarak 407 proxy kimlik doğrulaması kimlik bilgilerini gönderirBasic. Bu, sınama yanıtları göndermeyen 407 proxy'ler için kullanışlıdır.

Ayarın adı Değerler
runtimeconfig.json System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate false - devre dışı (varsayılan)
true -Etkin
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE 0 - devre dışı (varsayılan)
1 -Etkin

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

Sunucu başına en fazla bağlantı sayısı

Tek bir sunucuya açılan en fazla eşzamanlı TCP bağlantısı SocketsHttpHandler sayısını yapılandırılır. İşleyici, değerinden 1 küçük değerleri yoksayar ve varsayılan değeri kullanır.

  • Varsayılan olarak sınırsız ( olarak gösterilirint.MaxValue).
Ayarın adı Değerler
runtimeconfig.json System.Net.SocketsHttpHandler.MaxConnectionsPerServer Tamsayı (varsayılan: sınırsız)
Ortam değişkeni DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER Tamsayı (varsayılan: sınırsız)

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

Yuva satır içi tamamlamaları

yuva devamlılıklarının öğesine dağıtılmak System.Threading.ThreadPoolyerine olay iş parçacığında çalışmasına izin verilip verilmeyeceğini yapılandırır. Bu ayarın etkinleştirilmesi bazı senaryolarda performansı artırabilir. Ancak, G/Ç iş parçacığını gerekenden daha uzun süre tutan pahalı işler varsa performansı düşürebilir.

Uyarı

Bu ayarı etkinleştirmenin belirli senaryonuzda performansa yardımcı olduğundan emin olmak için test edin.

Ayarın adı Değerler
Ortam değişkeni DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS 0 - devre dışı (varsayılan)
1 -Etkin

Yuva iş parçacığı sayısı

Yuva G/Ç için kullanılan iş parçacığı sayısını yapılandırıyor. Geçersiz kılınmadığında, değer işlemci sayısına ve mimarisine göre hesaplanır. Pratik değerler aralığındadır [1, ProcessorCount]. Bu aralığın dışındaki değerler reddedilir ancak performansı artırma olasılığı düşüktür.

Uyarı

Bu ayar aşırı yük senaryolarına yöneliktir. Çoğu geliştiricinin bunu değiştirmesi gerekmez.

Ayarın adı Değerler
Ortam değişkeni DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT Tamsayı

IPv6

İnternet Protokolü sürüm 6'nın (IPv6) devre dışı bırakılıp bırakılmayacağını yapılandırılır.

Ayarın adı Değerler
runtimeconfig.json System.Net.DisableIPv6 false - etkin (varsayılan)
true -sakat
Ortam değişkeni DOTNET_SYSTEM_NET_DISABLEIPV6 0 - etkin (varsayılan)
1 -sakat

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

TLS oturumu yeniden başlatma

TLS oturum yeniden başlatmanın için SslStreamTLS oturum yeniden başlatmasını devre dışı bırakıp devre dışı bırakmayacağını denetler. Oturum yeniden başlatma, TLS yeniden bağlantılarının daha önce üzerinde anlaşmaya varılan oturum parametrelerini yeniden kullanarak tam el sıkışmayı atlayarak gecikme süresini azaltmasına olanak tanır.

Ayarın adı Değerler
runtimeconfig.json System.Net.Security.DisableTlsResume false - etkin (varsayılan)
true -sakat
Ortam değişkeni DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME 0 - etkin (varsayılan)
1 -sakat

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

Sunucu AIA indirmeleri

Etkinleştirildiğinde TLS istemcisi, sunucu sertifikalarındaki Yetkili Bilgileri Erişimi (AIA) uzantısı URL'lerinden ara sertifikaları otomatik olarak indirir. Bu, sunucu tam zinciri göndermediğinde bile istemcinin tam bir sertifika zinciri oluşturmasına olanak tanır.

Ayarın adı Değerler
runtimeconfig.json System.Net.Security.EnableServerAiaDownloads false - devre dışı (varsayılan)
true -Etkin
Ortam değişkeni DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS 0 - devre dışı (varsayılan)
1 -Etkin

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

QUIC yapılandırması önbelleğe alma

MsQuic yapılandırma nesnelerinin önbelleğe alınmasını devre dışı bırakır. Etkinleştirildiğinde (varsayılan), sistem yapılandırma nesnelerini bağlantılar arasında önbelleğe alır ve yeniden kullanır, bu da aynı parametrelerle yinelenen bağlantılar için TLS ve QUIC kurulumunun ek yükünü azaltır.

Ayarın adı Değerler
runtimeconfig.json System.Net.Quic.DisableConfigurationCache false - önbelleğe alma etkin (varsayılan)
true - önbelleğe alma devre dışı
Ortam değişkeni DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE 0 - önbelleğe alma etkin (varsayılan)
1 - önbelleğe alma devre dışı

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

Uygulama yerel MsQuic (Windows)

Etkinleştirildiğinde, QUIC uygulaması .NET derlemesi ile paketlenmiş sistem tarafından sağlanan kitaplık yerine uygulama dizininden MsQuic kitaplığını kullanır.

Ayarın adı Değerler
runtimeconfig.json System.Net.Quic.AppLocalMsQuic false - sistem MsQuic kullan (varsayılan)
true - uygulama yerel MsQuic kullanma

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.

HttpListener çekirdek yanıt arabelleği (Windows)

Etkinleştirildiğinde, HttpListener HTTP.sysaracılığıyla çekirdekteki yanıt verilerini arabelleğe alır. Çekirdek arabelleğe alma, zaman uyumlu G/Ç veya bir kerede en fazla bir bekleyen yazma ile zaman uyumsuz G/Ç kullanan uygulamalar için yüksek gecikme süreli bağlantılar üzerinden aktarım hızını önemli ölçüde iyileştirebilir. Birden çok eşzamanlı bekleyen yazma işlemi olan uygulamalar için bu ayarı etkinleştirmeyin.

Uyarı

Çekirdek yanıt arabelleğinin etkinleştirilmesi, HTTP.sysdaha yüksek CPU ve bellek kullanımına neden olabilir.

Ayarın adı Değerler
runtimeconfig.json System.Net.HttpListener.EnableKernelResponseBuffering false - devre dışı (varsayılan)
true -Etkin

Bu yapılandırma ayarı belirli bir MSBuild özelliğine sahip değil. Ancak, bunun yerine bir RuntimeHostConfigurationOption MSBuild öğesi ekleyebilirsiniz. özniteliğinin ayar adını kullanın. Bir örnek için bkz . MSBuild özellikleri.