Seda valeinfot nähes võib keskmine arendaja arvata kahte põhjust
1. Lingis on erilised tegelased
2. Lingi pikkus on liiga pikk(Tundub, et pikkus pole süüdi, see on ebamäärane, unustasin)
Veapildi aadress on järgmine: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Seejärel hakkasime uurima vigade põhjuseid, millega võisime kokku puutuda
1. Kontrolli URL-i, seal pole erimärke (välja arvatud see põhjus)
2. URL tundub esmapilgul väga pikk, nii et kustutame poole parameetri pikkusest ja taotleme seda. Tulemuseks on see, et see võib õnnestuda, kuid pideva tähemärkide lisamisega leitakse, et pikkus ületab 339 ja see vea teatab, ning pärast 339 pole erimärke, seegaMe otsustasime põhimõtteliselt, et vea põhjus peaks olema URL liiga pikk。
Järgmine samm on lahendada asjakohased probleemid
Siis on erinevaid Baidusid, vaata konfiguratsiooni, mis on seotud päringustringi pikkuse piirangu muutmisega
Seejärel muuda web.config'i
1. Muuda maxQueryStringLength ja maxRequestLength konfiguratsioone httpRuntime sõlme all
2. Muuda system.webServer sõlme järgmiselt
Salvestades ja töötades ootusrikkalt, on vead endiselt samad ja tundub, et neist pole kasu
Sel ajal hakkasin mõtlema, miks mitte, kas see ei avaldu, mõeldes, et võib-olla on palju inimesi nagu mina, kes mõtlevad IIS-i globaalsele seadistusele, kas seda seadet ei ületata, me kasutame endiselt kõiki seatud väärtusi
Ära arva, lihtsalt vaata (pane tähele, et requestFiltering, mida kontrollid, asub system.webServeri all, ära vaata vale sõlme)
Kui see on välja lülitatud, on overrideModeDefault väärtus Deny, mis tähendab, et meie konfiguratsioon põhineb meie saidi konkreetsel konfiguratsioonil.
Nii et kõik on normaalne, miks see viga on?!
Lõpuks köitis mu tähelepanu üks tagasipööramine, mida stackoverflow's ei kasutatud.
Linkhttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Umbkaudselt öeldes pole päring veel IIS-i jõudnud ja operatsioonisüsteem lõpetab selle.
Sel ajal otsisin Google'ist teist artiklit, mis viitas Microsofti optilise raadio tehnilisele toele
Aadress on järgminehttps://support.microsoft.com/zh ... ettings-for-windows
Kahe artikli põhimõte on, et peame registrit muutma ning neid kahte artiklit muudetakse tõenäoliselt järgmiste registri väärtustega
Seejärel proovi seda ja mine registrisse CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Paremklõpsa tühjal alal ja vali Dwordi väärtus, nagu pildil näidatud
Loo uus nimi nimega UrlSegmentMaxLength, sea väärtus 2048 ja klõpsa OK
UrlSegmentMaxCount seade on sama mis eelpool, väärtus on samuti Dword 2048, klõpsa OK.
Muudatus jõustub ainult siis, kui HTTP teenus taaskäivitatakse
- Vajuta Start, kirjuta Cmd ja siis OK.
- Käsurea juures sisesta net stop http ja vajuta Enter.
- Käsurea puhul sisesta net start http ja vajuta Enter.
Seejärel taaskäivita IIS. Proovi uuesti, okei, viga pole, täiuslik lahendus
|