Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Protocolo HTTP/2
- Configura se o suporte ao protocolo HTTP/2 está ativado.
- Se omitir esta definição, o suporte para o protocolo HTTP/2 está ativado. Isso equivale a definir o valor como
true.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.SocketsHttpHandler.Http2Support |
false - deficientestrue - ativado |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT |
0 - deficientes1 - ativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Protocolo HTTP/3
- A partir do .NET 7, o HTTP/3 está ativado por defeito.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.Http3Support |
false - Deficientes true - ativado |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT |
0 - deficientes1 - ativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Criação de SPN em HttpClient (.NET 6 e posteriores)
- Impacta a geração de nomes principais de serviço (SPN) para Kerberos e autenticação NTLM quando
Hostfalta cabeçalho e o destino não está a correr na porta predefinida. - .NET 6 e versões posteriores não incluem a porta no SPN por defeito. No entanto, o comportamento é configurável.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.UsePortInSpn |
true - incluir o número de porta no SPN, por exemplo, HTTP/host:portfalse - não incluir port no SPN, por exemplo, HTTP/host |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_USEPORTINSPN |
1 - incluir o número de porta no SPN, por exemplo, HTTP/host:port0 - não incluir port no SPN, por exemplo, HTTP/host |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Escalonamento dinâmico de janelas HTTP/2
- Configura se o algoritmo de escalonamento dinâmico de janelas HTTP/2 está desativado para controlo de fluxo. O algoritmo está ativado por defeito.
- Quando definido para
true, o algoritmo de escalonamento dinâmico de janelas é desativado.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.Http2FlowControl.DisableDynamicWindowSizing |
false - ativado (por defeito)true - deficientes |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING |
0 - ativado (por defeito)1 - deficientes |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Tamanho da janela de receção do fluxo HTTP/2
- Configura o tamanho máximo da janela de receção do fluxo HTTP/2.
- O padrão é 16 MB. Valores abaixo de 65.535 são limitados a 65.535. Não existe um limite máximo rígido, mas aumentar esta definição para além do padrão só é benéfico em redes que sejam de alta taxa de débito e alta latência.
| Nome da configuração | Valores | |
|---|---|---|
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE |
Integer (padrão: 16 MB; mínimo: 65.535) |
Limiar de escala da janela de fluxo HTTP/2
- Configura o multiplicador que controla o quão agressivamente cresce a janela de receção do fluxo HTTP/2. Valores mais elevados resultam num crescimento das janelas mais conservador, o que reduz o débito máximo.
- O padrão é 1.0. Valores abaixo de 0 são redefinidos para o padrão. Não existe um limite superior rígido, mas valores muito acima do padrão limitam progressivamente o débito por pedido.
Observação
Esta configuração destina-se a diagnósticos avançados e afinação interna. A maioria dos programadores não precisa de alterar isso.
| Nome da configuração | Valores | |
|---|---|---|
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER |
Flutuar (padrão: 1.0; mínimo: 0) |
Propagação de atividade HTTP
Configura se a propagação da atividade de rastreio distribuído está ativada para HttpClient. Quando ativados, os pedidos HTTP de saída propagam cabeçalhos de contexto de rastreio (como traceparent) para ferramentas de rastreamento distribuídas como o OpenTelemetry.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.EnableActivityPropagation |
true - ativado (por defeito)false - deficientes |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION |
1 - ativado (por defeito)0 - deficientes |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Tempo de espera de ligação após a conclusão do pedido
Configura o timeout (em milissegundos) para completar uma tentativa de ligação pendente após o seu pedido HTTP iniciado terminar. Quando uma ligação ainda está a ser estabelecida após a conclusão do pedido, este timeout determina quanto tempo esperar antes de abandonar a tentativa de ligação.
- Por defeito,
5000(5 segundos). - Defina para
-1esperar indefinidamente até a ligação terminar. - Defina para
0cancelar a ligação pendente imediatamente após a conclusão do pedido. - Não há um limite superior rígido, mas valores muito altos são impraticáveis.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.PendingConnectionTimeoutOnRequestCompletion |
Integer (padrão: 5000) |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PENDINGCONNECTIONTIMEOUTONREQUESTCOMPLETION |
Integer (padrão: 5000) |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Pré-autenticação de proxy
Quando ativado, SocketsHttpHandler envia Basic proativamente credenciais de autenticação do proxy no primeiro pedido, em vez de esperar por uma 407 resposta de desafio do proxy. Isto é útil para proxies que não enviam 407 respostas a desafios.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Http.SocketsHttpHandler.ProxyPreAuthenticate |
false - desativado (por defeito)true - ativado |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_PROXYPREAUTHENTICATE |
0 - desativado (por defeito)1 - ativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Ligações máximas por servidor
Configura o número máximo de ligações TCP simultâneas que SocketsHttpHandler se abrem para um único servidor. O handler ignora valores inferiores 1 e usa o padrão.
- Por defeito é ilimitado (
int.MaxValue).
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.SocketsHttpHandler.MaxConnectionsPerServer |
Integer (por defeito: ilimitado) |
| Variável de ambiente | DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_MAXCONNECTIONSPERSERVER |
Integer (por defeito: ilimitado) |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Completações em linha de soquete
Configura se as continuações de socket podem ser executadas no thread de eventos em vez de serem despachadas para o System.Threading.ThreadPool. Ativar esta configuração pode melhorar o desempenho em alguns cenários. No entanto, pode degradar o desempenho se trabalhos caros manterem a thread de I/O por mais tempo do que o necessário.
Observação
Teste para garantir que ativar esta configuração ajuda no desempenho no seu cenário específico.
| Nome da configuração | Valores | |
|---|---|---|
| Variável de ambiente | DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS |
0 - desativado (por defeito)1 - ativado |
Contagem de roscas do soquete
Configura o número de roscas usadas para a E/S do soquete. Quando não é sobreposto, o valor é calculado com base no número de processadores e na arquitetura. Os valores práticos estão no intervalo [1, ProcessorCount]de . Valores fora deste intervalo não são rejeitados, mas é improvável que melhorem o desempenho.
Observação
Esta definição destina-se a cenários de carga extrema. A maioria dos programadores não precisa de alterar isso.
| Nome da configuração | Valores | |
|---|---|---|
| Variável de ambiente | DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT |
Número inteiro |
IPv6
Configura se o Protocolo de Internet versão 6 (IPv6) está desativado.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.DisableIPv6 |
false - ativado (por defeito)true - deficientes |
| Variável de ambiente | DOTNET_SYSTEM_NET_DISABLEIPV6 |
0 - ativado (por defeito)1 - deficientes |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Reinício da sessão TLS
Controlar se a retomada de sessões TLS desativa a retomada de sessões TLS para SslStream. A retomada da sessão permite que as reconexões TLS saltem um handshake completo ao reutilizar parâmetros de sessão previamente negociados, o que reduz a latência.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Security.DisableTlsResume |
false - ativado (por defeito)true - deficientes |
| Variável de ambiente | DOTNET_SYSTEM_NET_SECURITY_DISABLETLSRESUME |
0 - ativado (por defeito)1 - deficientes |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Downloads do AIA do servidor
Quando ativado, o cliente TLS descarrega automaticamente certificados intermédios a partir de URLs de extensão do Authority Information Access (AIA) nos certificados do servidor. Isto permite ao cliente construir uma cadeia de certificados completa mesmo quando o servidor não envia a cadeia completa.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Security.EnableServerAiaDownloads |
false - desativado (por defeito)true - ativado |
| Variável de ambiente | DOTNET_SYSTEM_NET_SECURITY_ENABLESERVERAIADOWNLOADS |
0 - desativado (por defeito)1 - ativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Cache de configuração QUIC
Desativa a cache dos objetos de configuração do MsQuic. Quando ativado (por defeito), o sistema armazena em cache e reutiliza objetos de configuração entre ligações, o que reduz a sobrecarga da configuração TLS e QUIC para ligações repetidas com os mesmos parâmetros.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Quic.DisableConfigurationCache |
false - cache ativada (por defeito)true - cache desativado |
| Variável de ambiente | DOTNET_SYSTEM_NET_QUIC_DISABLE_CONFIGURATION_CACHE |
0 - cache ativada (por defeito)1 - cache desativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
MsQuic local de aplicação (Windows)
Quando ativada, a implementação do QUIC utiliza a biblioteca MsQuic do diretório da aplicação em vez da biblioteca fornecida pelo sistema, incluída no assembly .NET.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.Quic.AppLocalMsQuic |
false - usar MsQuic do sistema (por defeito)true - usar o MsQuic local da aplicação |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.
Buffering de resposta ao kernel HttpListener (Windows)
Quando ativado, armazena HttpListener os dados de resposta no kernel via HTTP.sys. O kernel buffering pode melhorar significativamente o throughput em relação a ligações de alta latência para aplicações que utilizam I/O síncrona ou I/O assíncrona, com no máximo uma escrita pendente de cada vez. Não ative esta configuração para aplicações com múltiplas escritas pendentes em simultâneo.
Observação
Ativar o buffering de resposta do kernel pode resultar numa maior utilização de CPU e memória por HTTP.sys.
| Nome da configuração | Valores | |
|---|---|---|
| runtimeconfig.json | System.Net.HttpListener.EnableKernelResponseBuffering |
false - desativado (por defeito)true - ativado |
Esta definição de configuração não tem uma propriedade MSBuild específica. No entanto, você pode adicionar um RuntimeHostConfigurationOption item MSBuild em vez disso. Use o nome da configuração runtimeconfig.json como o valor do Include atributo. Para obter um exemplo, consulte Propriedades do MSBuild.