Văzând această dezinformare, dezvoltatorul obișnuit poate ghici două motive
1. Există caractere speciale în link
2. Lungimea legăturii este prea mare(Se pare că lungimea nu este vina, este vagă, am uitat)
Adresa imaginii de eroare este următoarea: http://{host}/SearchService. svc/rest/pic600x320/png/kv3hcxmnCmISVvFKojNBGpkN44MRx71vV4v7Qu7ikclbic2vX5Axnm8RxwhLoWyehsSz4J%C2% A72F6h4eQgvkrbzuKGR6y7sszK1KUY75RqxylZMumapwVQttfllaSPXwoRGEeVexDqjmMZSERPquL3uLZbv6Vxdx52nRDUW90SVVYeqkHZbx2w3T1coqt2v036tfaZ%C2%A72D8GBlPbIVJuhSFU5GA8116z8FkV4%C2% A72kDtsxSXy9XTFIziTToRpbQEkp7497O6q99
Apoi, am început să investigăm motivele pentru erorile pe care le-am putea întâmpina
1. Verifică URL-ul, nu există caractere speciale (excluzând acest motiv)
2. URL-ul pare foarte lung la prima vedere, așa că să ștergem jumătate din lungimea parametrului și apoi să-l solicităm. Rezultatul este că poate avea succes, iar prin adăugarea constantă de caractere, se constată că lungimea depășește 339 și se raportează această eroare, iar după 339 nu există caractere speciale, deciPractic, am stabilit că cauza erorii ar trebui să fie că URL-ul este prea lung。
Următorul pas este rezolvarea problemelor relevante
Apoi există diverse Baidu, verifică configurația legată de modificarea limitei de lungime a stringului de interogări
Apoi modifică web.config-ul
1. Modificați configurațiile maxQueryStringLength și maxRequestLength sub nodul httpRuntime
2. Modifică nodul system.webServer după cum urmează
Salvând și rulând cu anticipare, erorile rămân aceleași și pare că nu are rost
În acel moment, am început să mă întreb, de ce nu, nu va intra în vigoare, gândindu-mă că poate există mulți oameni ca mine, gândindu-se la contextul global al IIS, dacă această setare nu va fi suprascrisă, folosim în continuare toate valorile setate
Nu ghici, doar verifică (reține că requestFiltering-ul pe care îl verifici este localizat sub system.webServer, nu te uita la nodul greșit)
Dacă este dezactivat, valoarea overrideModeDefault este Deny, ceea ce înseamnă că configurația noastră va fi bazată pe configurația specifică a site-ului nostru.
Deci totul este normal, de ce este o eroare?!
În cele din urmă, un revert care nu a fost adoptat pe stackoverflow mi-a atras atenția
legăturăhttps://stackoverflow.com/questi ... is-invalid-in-iis-7
Pe scurt, cererea nu a ajuns încă la IIS și este blocată de sistemul de operare.
În acel moment, am căutat un alt articol pe Google, care făcea legătura de suportul tehnic pentru radio optic al Microsoft
Adresa este următoareahttps://support.microsoft.com/zh ... ettings-for-windows
Esența celor două articole este că trebuie să modificăm registrul, iar cele două articole sunt probabil modificate de următoarele două valori ale registrului
Apoi, încearcă și mergi la registrul CMD="regedit="HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Faceți clic dreapta pe zona goală și selectați valoarea Dword, așa cum se vede în imagine
Creează un nume nou numit UrlSegmentMaxLength, setează valoarea la 2048 și apasă OK
Setarea UrlSegmentMaxCount este aceeași ca mai sus, valoarea este tot Dword 2048, apasă OK.
Modificarea poate intra în vigoare doar dacă serviciul HTTP este repornit
- Apasă pe Start, tastează Cmd, apoi apasă OK.
- La promptul de comandă, tastează net stop http și apasă Enter.
- La promptul de comandă, tastează net start http și apasă Enter.
Apoi repornește IIS-ul. Încearcă din nou, ok, fără eroare, soluție perfectă
|