Når man ser denne misinformation, kan den gennemsnitlige udvikler gætte to grunde
1. Der er særlige tegn i linket
2. Forbindelseslængden er for lang(Det virker som om, længden ikke er skylden, den er vag, jeg glemte det)
Adressen på fejlbilledet er som følger: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Dernæst begyndte vi at undersøge årsagerne til de fejl, vi kunne støde på
1. Tjek URL'en, der er ingen specialtegn (undtag denne grund)
2. URL'en ser virkelig lang ud ved første øjekast, så lad os slette halvdelen af parameterens længde og derefter anmode om den. Resultatet er, at det kan lykkes, og ved konstant at tilføje tegn opdages det, at længden overstiger 339 og rapporterer denne fejl, og der er ingen specialtegn efter 339, såVi fastslog grundlæggende, at årsagen til fejlen burde være, at URL'en er for lang。
Næste skridt er at løse de relevante problemer
Så er der forskellige Baidu, tjek konfigurationen relateret til ændring af grænsen for forespørgselsstrengens længde
Derefter modificerer web.config
1. Ændr maxQueryStringLength og maxRequestLength-konfigurationerne under httpRuntime-noden
2. Ændr system.webServer-noden som følger
Gemmer og kører med forventning, fejlene er stadig de samme, og det ser ud til, at det ikke nytter noget
På dette tidspunkt begyndte jeg at spekulere på, hvorfor ikke, vil det ikke få effekt, idet jeg tænkte, at der måske er mange som mig, der tænker på IIS' globale indstilling, vil denne indstilling ikke blive overtrumfet, vi bruger stadig alle mængdeværdierne
Gæt ikke, bare tjek det ud (bemærk at requestFiltering, du tjekker, ligger under system.webServer, kig ikke på den forkerte node)
Hvis den er slukket, er værdien for overrideModeDefault Deny, hvilket betyder, at vores konfiguration vil være baseret på den specifikke konfiguration af vores site.
Så alt er normalt, hvorfor er det en fejl?!
Endelig fangede en tilbagevending, som ikke blev adopteret på stackoverflow, min opmærksomhed
sammenkædehttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Grov sagt er anmodningen endnu ikke nået til IIS og bliver dræbt af operativsystemet.
På dette tidspunkt søgte jeg efter en anden artikel på Google, som linkede til Microsofts tekniske support for optisk radio
Adressen er som følgerhttps://support.microsoft.com/zh ... ettings-for-windows
Essensen af de to artikler er, at vi skal ændre registret, og de to artikler er sandsynligvis ændret af følgende to værdier i registret
Prøv derefter og gå til registreringsdatabasen CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Højreklik på det tomme område og vælg Dword-værdien, som vist på billedet
Opret et nyt navn kaldet UrlSegmentMaxLength, sæt værdien til 2048, og klik OK
Indstillingen for UrlSegmentMaxCount er den samme som ovenfor, værdien er også Dword 2048, klik OK.
Ændringen kan kun træde i kraft, hvis HTTP-tjenesten genstartes
- Klik Start, skriv Cmd, og klik derefter OK.
- Ved kommandoprompten skal du skrive net stop http og trykke på Enter.
- Ved kommandoprompten skal du skrive net start http og trykke på Enter.
Genstart derefter IIS. Prøv igen, ok, ingen fejl, perfekt løsning
|