Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
ASP0028: Considere usar
| Valor | |
|---|---|
| ID da regra | ASP0028 |
| Categoria | Uso |
| Correção interruptiva ou sem interrupção | Sem interrupção |
Causa
Na máquina servidor que oferece suporte IPv6a , IPv6Any é preferível a Any porque Any pode ser mais lento que IPv6Any. Em alguns casos, Any pode não funcionar.
Anypode ser mais lento devido à implementação subjacente dos tipos de sistema.
127.0.0.1 é o endereço de loopback IPv4.
::1 é o endereço de loopback IPv6.
Any é o endereço curinga para IPv4.
IPv6Any é o endereço curinga para IPv6.
Comportamento atual com IPv6 ao usar HTTP/1.x ou HTTP/2.0:
-
localhostresolve para[::1]. -
[::1]não é aceito pelo servidor, o que força uma nova tentativa usando127.0.0.1, criando um ciclo repetido.
O uso Any com as condições anteriores causa a mensagem de ASP0028 diagnóstico. Aqui está um exemplo do código que pode resultar nestas condições:
.UseKestrel().ConfigureKestrel(options =>
{
options.Listen(IPAddress.Any, ...);
})
Descrição da regra
A maneira recomendada de configurar Kestrel a escuta de conexões de entrada em todas as interfaces de rede disponíveis IPv6 é com IPv6Any.
Como corrigir violações
Para o código problemático, substitua Any por IPv6Any.
Use o ListenAnyIP(Int32) método sem especificar nenhum argumento:
.UseKestrel().ConfigureKestrel(options =>
{
- options.Listen(IPAddress.Any, ...);
+ options.ListenAnyIP(...);
})
Ou use o IPv6Any campo:
.UseKestrel().ConfigureKestrel(options =>
{
- options.Listen(IPAddress.Any, ...);
+ options.Listen(IPAddress.IPv6Any, ...);
})
Quando suprimir avisos
O ASP0028 diagnóstico tem gravidade do nível de informação . Suprima esse aviso se sua intenção for desabilitar IPv6 completamente o uso no servidor, embora isso arrisque os problemas de desempenho mencionados neste artigo.
IPv6 pode ser desabilitado em todo o sistema ou apenas para .NET por meio da opção AppCtx ou da variável de ambiente