Keď bežný vývojár vidí tieto dezinformácie, môže uhádnuť dva dôvody
1. V odkaze sú špeciálne znaky
2. Dĺžka článku je príliš dlhá(Zdá sa, že dĺžka nie je chyba, je to nejasné, zabudol som)
Adresa chybového obrazu je nasledovná: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Ďalej sme začali skúmať dôvody chýb, na ktoré sme mohli naraziť
1. Skontrolujte URL, nie sú tam žiadne špeciálne znaky (okrem tohto dôvodu)
2. URL sa na prvý pohľad zdá veľmi dlhá, takže vymažme polovicu dĺžky parametra a potom ju požiadajme. Výsledkom je, že môže byť úspešný, a potom neustálym pridávaním znakov sa zistí, že dĺžka presahuje 339 a táto chyba sa hlási, pričom po 339 už nie sú žiadne špeciálne znaky, takžeV podstate sme zistili, že príčinou chyby by mala byť príliš dlhá URL adresa。
Ďalším krokom je vyriešiť príslušné problémy
Potom existujú rôzne Baidu, skontrolujte konfiguráciu súvisiacu s úpravou limitu dĺžky querystringu
Potom upravte web.config
1. Upraviť konfigurácie maxQueryStringLengthLength a maxRequestLength pod uzlom httpRuntime
2. Upraviť uzol system.webServer nasledovne
Ukladanie a spúšťanie s očakávaním, chyby sú stále rovnaké a zdá sa, že to nemá zmysel
V tom čase som začal premýšľať, prečo nie, či to nezačne účinkovať, mysliac na to, že možno je veľa ľudí ako ja, ktorí myslia na globálne nastavenie IIS, či toto nastavenie nebude prepísané, stále používame všetky hodnoty množín
Nehádaj, len si to pozri (všimni si, že requestFiltering, ktorý kontroluješ, je pod system.webServer, nepozeraj sa na nesprávny uzol).
Ak je vypnutá, hodnota overrideModeDefault je Deny, čo znamená, že naša konfigurácia bude založená na konkrétnej konfigurácii našej stránky.
Takže všetko je normálne, prečo je to chyba?!
Nakoniec ma upútal revert, ktorý nebol prijatý na stackoverflow
väzbahttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Zjednodušene povedané, požiadavka ešte nedosiahla IIS a operačný systém ju zrušil.
V tom čase som hľadal ďalší článok na Google, ktorý odkazoval na technickú podporu optického rádia od Microsoftu
Adresa je nasledovnáhttps://support.microsoft.com/zh ... ettings-for-windows
Podstata týchto dvoch článkov je, že je potrebné upraviť register a oba články sú pravdepodobne upravené nasledujúcimi dvoma hodnotami registra
Ďalej to vyskúšajte a choďte do registra CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Kliknite pravým tlačidlom na prázdnu oblasť a vyberte hodnotu Dword, ako je znázornené na obrázku
Vytvorte nový názov s názvom UrlSegmentMaxLength, nastavte hodnotu na 2048 a kliknite na OK
Nastavenie UrlSegmentMaxCount je rovnaké ako vyššie, hodnota je tiež Dword 2048, kliknite na OK.
Úprava môže nadobudnúť účinok len v prípade reštartu HTTP služby
- Kliknite na Start, napíšte Cmd a potom OK.
- V príkazovom riadku napíšte net stop http a stlačte Enter.
- V príkazovom riadku napíšte net start http a stlačte Enter.
Potom reštartuj IIS. Skús znova, dobre, žiadna chyba, perfektné riešenie
|