Vendo essa desinformação, o desenvolvedor médio pode supor dois motivos
1. Há caracteres especiais no link
2. O comprimento do link é muito longo(Parece que o comprimento não é a culpa, é vago, esqueci)
O endereço da imagem de erro é o seguinte: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Em seguida, começamos a investigar as razões para os erros que poderíamos encontrar
1. Verifique a URL, não há caracteres especiais (excluindo esse motivo)
2. A URL parece muito longa à primeira vista, então vamos deletar metade do comprimento do parâmetro e depois solicitá-lo. O resultado é que pode ser bem-sucedido, e então, ao adicionar caracteres constantemente, verifica-se que o comprimento excede 339 e esse erro é reportado, e não há caracteres especiais após 339, entãoBasicamente, determinamos que a causa do erro deveria ser que a URL está muito longa。
O próximo passo é resolver os problemas relevantes
Depois, há vários Baidu, verifique a configuração relacionada à modificação do limite de comprimento da sequência de consulta
Depois, modificar o site web.config
1. Modificar as configurações maxQueryStringLength e maxRequestLength sob o nó httpRuntime
2. Modificar o nó system.webServer da seguinte forma
Salvando e rodando com expectativa, os erros continuam os mesmos, e parece que não adianta
Nesse momento, comecei a me perguntar, por que não, não entraria em vigor, pensando que talvez haja muitas pessoas como eu, pensando no cenário global do IIS, se essa configuração não seria anulada? Ainda usamos todos os valores de conjunto
Não chute, apenas confira (note que o requestFiltering que você verifica está localizado em system.webServer, não olhe para o nó errado)
Se estiver desligado, o valor de overrideModeDefault é Deny, o que significa que nossa configuração será baseada na configuração específica do nosso site.
Então está tudo normal, por que isso é um erro?!
Finalmente, um revert que não foi adotado no stackoverflow chamou minha atenção
linkhttps://stackoverflow.com/questi ... is-invalid-in-iis-7
De forma geral, a solicitação ainda não chegou ao IIS e é cancelada pelo sistema operacional.
Nesse momento, procurei outro artigo no Google, que ligava ao suporte técnico de rádio óptico da Microsoft
O endereço é o seguintehttps://support.microsoft.com/zh ... ettings-for-windows
A essência dos dois artigos é que precisamos modificar o registro, e os dois artigos provavelmente são modificados pelos dois valores seguintes do registro
Depois, tente e vá para o registro CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Clique com o botão direito na área em branco e selecione o valor Dword, como mostrado na imagem
Crie um novo nome chamado UrlSegmentMaxLength, defina o valor para 2048 e clique em OK
A configuração do UrlSegmentMaxCount é a mesma que acima, o valor também é Dword 2048, clique em OK.
A modificação só pode entrar em vigor se o serviço HTTP for reiniciado
- Clique em Iniciar, digite Cmd e depois clique em OK.
- No prompt de comando, digite net stop http e pressione Enter.
- No prompt de comando, digite net start http e pressione Enter.
Então reinicie o IIS. Tente de novo, ok, sem erro, solução perfeita
|