Al ver esta desinformación, el desarrollador medio puede suponer dos razones
1. Hay caracteres especiales en el enlace
2. La longitud del enlace es demasiado larga(Parece que la longitud no es la culpa, es vaga, se me olvidó)
La dirección de la imagen de error es la siguiente: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
A continuación, comenzamos a investigar las causas de los errores que podíamos encontrar
1. Comprueba la URL, no hay caracteres especiales (excepto esta razón)
2. La URL parece muy larga a primera vista, así que borremos la mitad de la longitud del parámetro y luego solicitámosla. El resultado es que puede tener éxito y, añadiendo caracteres constantemente, se descubre que la longitud supera 339 y se reporta este error, y no hay caracteres especiales después de 339, por lo queBásicamente determinamos que la causa del error debería ser que la URL es demasiado larga。
El siguiente paso es resolver los problemas relevantes
Luego hay varios Baidu, comprueba la configuración relacionada con la modificación del límite de longitud de la cadena de consultas
Luego modifica el web.config
1. Modificar las configuraciones maxQueryStringLength y maxRequestLength bajo el nodo httpRuntime
2. Modificar el nodo system.webServer de la siguiente manera
Guardando y ejecutando con anticipación, los errores siguen siendo los mismos, y parece que no sirve de nada
En ese momento, empecé a preguntarme, ¿por qué no, no entraría en vigor? Pensando que puede haber muchas personas como yo, pensando en el contexto global de IIS, si no se anularía este ajuste, seguiremos usando todos los valores de conjunto
No adivines, simplemente échale un vistazo (ten en cuenta que el filtering de requestFiltering que compruebas está en system.webServer, no mires el nodo equivocado)
Si está desactivado, el valor de overrideModeDefault es Deny, lo que significa que nuestra configuración se basará en la configuración específica de nuestro sitio.
Así que todo está normal, ¿por qué es un error?
Por fin, una reversión que no fue adoptada en stackoverflow llamó mi atención
enlacehttps://stackoverflow.com/questi ... is-invalid-in-iis-7
A grandes rasgos, la solicitud aún no ha llegado a IIS y es cancelada por el sistema operativo.
En ese momento, busqué otro artículo en Google, que enlazaba con el soporte técnico de radio óptica de Microsoft
La dirección es la siguientehttps://support.microsoft.com/zh ... ettings-for-windows
La esencia de los dos artículos es que necesitamos modificar el registro, y probablemente los dos artículos se modifiquen con los siguientes dos valores del registro
Después, pruébalo y ve al CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Haz clic derecho en el área en blanco y selecciona el valor Dword, como se muestra en la imagen
Crea un nuevo nombre llamado UrlSegmentMaxLength, pon el valor en 2048 y haz clic en OK
La configuración de UrlSegmentMaxCount es la misma que la anterior, el valor también es Dword 2048, haz clic en OK.
La modificación solo puede entrar en vigor si se reinicia el servicio HTTP
- Haz clic en Iniciar, escribe Cmd y luego haz clic en OK.
- En el símbolo del prompt, escribe net stop http y pulsa Enter.
- En el símbolo de comandos, escribe net start http y pulsa Enter.
Luego reinicia IIS. Inténtalo de nuevo, vale, sin error, solución perfecta
|