Als je deze verkeerde informatie ziet, kan de gemiddelde ontwikkelaar twee redenen vermoeden
1. Er zijn speciale tekens in de link
2. De linklengte is te lang(Het lijkt erop dat de lengte niet de schuld is, het is vaag, ik was het vergeten)
Het adres van de foutafbeelding is als volgt: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Vervolgens begonnen we de redenen voor de fouten die we konden tegenkomen te onderzoeken
1. Controleer de URL, er zijn geen speciale tekens (zonder deze reden)
2. De url lijkt op het eerste gezicht erg lang, dus laten we de helft van de lengte van de parameter verwijderen en dan aanvragen. Het resultaat is dat het succesvol kan zijn, en door voortdurend tekens toe te voegen, blijkt dat de lengte groter is dan 339 en deze fout wordt gerapporteerd, en er zijn geen speciale tekens na 339, dusWe hebben in feite vastgesteld dat de oorzaak van de fout zou moeten zijn dat de URL te lang is。
De volgende stap is het oplossen van de relevante problemen
Dan zijn er verschillende Baidu, controleer de configuratie die gerelateerd is aan het wijzigen van de querystring-lengtelimiet
Pas dan de web.config aan
1. Wijzig de maxQueryStringLength- en maxRequestLength-configuraties onder de httpRuntime-node
2. Wijzig de system.webServer-node als volgt
Met anticipatie opslaan en draaien, zijn de fouten nog steeds hetzelfde, en het lijkt erop dat het geen zin heeft
Op dat moment begon ik me af te vragen: waarom niet, zal het niet effect hebben, denkend dat er misschien veel mensen zoals ik zijn, denkend aan de globale setting van IIS, zal deze instelling niet worden overschreven, we gebruiken nog steeds alle setwaarden
Raad niet, kijk gewoon even (let op: de requestFiltering die je controleert staat onder system.webServer, kijk niet naar de verkeerde node)
Als deze niet klopt, is de waarde van overrideModeDefault Deny, wat betekent dat onze configuratie gebaseerd is op de specifieke configuratie van onze site.
Dus alles is normaal, waarom is het een fout?!
Uiteindelijk viel een revert die niet op stackoverflow was aangenomen mijn aandacht
verbindenhttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Grofweg gezegd heeft het verzoek IIS nog niet bereikt en wordt het door het besturingssysteem gestopt.
Op dat moment zocht ik op Google naar een ander artikel, dat linkte naar de technische ondersteuning voor optische radio van Microsoft
Het adres is als volgthttps://support.microsoft.com/zh ... ettings-for-windows
De kern van de twee artikelen is dat we het register moeten aanpassen, en de twee artikelen worden waarschijnlijk aangepast door de volgende twee waarden van het register
Probeer het vervolgens en ga naar het register CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Klik met de rechtermuisknop op het lege gebied en selecteer de Dword-waarde, zoals te zien is op de afbeelding
Maak een nieuwe naam aan genaamd UrlSegmentMaxLength, stel de waarde in op 2048 en klik op OK
De instelling van UrlSegmentMaxCount is hetzelfde als hierboven, de waarde is ook Dword 2048, klik OK.
De wijziging kan alleen van kracht worden als de HTTP-service wordt herstart.
- Klik op Start, typ Cmd, en klik dan op OK.
- Typ bij de opdrachtprompt net stop http en druk op Enter.
- Typ bij de opdrachtprompt net start http en druk op Enter.
Begin dan IIS opnieuw. Probeer het opnieuw, oké, geen fout, perfecte oplossing
|