Když vidí tyto dezinformace, průměrný vývojář může odhadnout dva důvody
1. V odkazu jsou speciální znaky
2. Délka článku je příliš dlouhá(Zdá se, že délka není vina, je to nejasné, zapomněl jsem)
Adresa chybového obrazu je následující: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Poté jsme začali zkoumat příčiny chyb, na které jsme mohli narazit
1. Zkontrolujte URL, nejsou tam žádné speciální znaky (tento důvod vylučujte)
2. URL se na první pohled zdá opravdu dlouhá, takže smažme polovinu délky parametru a pak ji požádejme. Výsledkem je, že může být úspěšný, a pak se při neustálém přidávání znaků zjistí, že délka přesahuje 339 a tato chyba se hlásí, a po 339 už nejsou žádné speciální znaky, takžeV podstatě jsme zjistili, že příčinou chyby by měla být příliš dlouhá URL。
Dalším krokem je vyřešit příslušné problémy
Pak existují různé Baidu, zkontrolujte konfiguraci související s úpravou limitu délky dotazovacího řetězce
Pak upravte web.config
1. Upravte konfigurace maxQueryStringLengthLength a maxRequestLength pod uzlem httpRuntime
2. Upravit uzel system.webServer následovně
Ukládám a spouštěm s očekáváním, chyby jsou stále stejné a zdá se, že to nemá smysl
V tu chvíli jsem začal přemýšlet, proč ne, nebude to účinné, myslel jsem si, že je mnoho lidí jako já, kteří přemýšlejí o globálním nastavení IIS, nebude toto nastavení přepsáno, stále používáme všechny hodnoty sady
Nehádejte, prostě se na to podívejte (všimněte si, že requestFiltering, který kontrolujete, je pod system.webServer, nekoukejte na špatný uzel).
Pokud je vypnutá, hodnota overrideModeDefault je Deny, což znamená, že naše konfigurace bude založena na konkrétní konfiguraci našeho webu.
Takže všechno je normální, proč je to chyba?!
Nakonec mě upoutal revert, který nebyl přijat na stackoverflow
propojithttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Zhruba řečeno, požadavek ještě nedosáhl IIS a operační systém ji zrušil.
V té době jsem hledal další článek na Googlu, který odkazoval na technickou podporu optického rádia Microsoftu
Adresa je následujícíhttps://support.microsoft.com/zh ... ettings-for-windows
Podstata těchto dvou článků je, že musíme upravit registr, a oba články jsou pravděpodobně upraveny následujícími dvěma hodnotami registru
Dále to zkuste a přejděte do registru CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Klikněte pravým tlačítkem na prázdnou oblast a vyberte hodnotu Dword, jak je vidět na obrázku
Vytvořte nový název nazvaný UrlSegmentMaxLength, nastavte hodnotu na 2048 a klikněte na OK
Nastavení UrlSegmentMaxCount je stejné jako výše, hodnota je také Dword 2048, klikněte na OK.
Úprava může nabýt účinnosti pouze při restartu HTTP služby
- Klikněte na Start, zadejte Cmd a pak OK.
- V příkazovém řádku napište net stop http a stiskněte Enter.
- V příkazovém řádku napište net start http a stiskněte Enter.
Pak restartuj IIS. Zkus to znovu, dobře, žádná chyba, perfektní řešení
|