Come configurare web.config per consentire richieste di qualsiasi lunghezza

Sto costruendo un sito in cui vorrei creare un lato client di file dal valore di un elemento textarea.

Ho il codice in atto per farlo, ma sto ricevendo questo errore

Errore HTTP 404.15 – Non trovato Il modulo di filtro delle richieste è configurato per rifiutare una richiesta in cui la stringa di query è troppo lunga.

C’è un modo per ignorare questo in modo che io sia in grado di elaborare richieste di qualsiasi dimensione?

In caso contrario, esiste un modo per generare file lato client senza utilizzare il filesystem / object x attivo?

Grazie

Aggiungi quanto segue al tuo web.config:

       

Vedere:

http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/requestLimits

Aggiornato per riflettere i commenti.

requestLimits Elemento per requestFiltering [IIS Settings Schema]

Potrebbe essere necessario aggiungere anche quanto segue nel proprio web.config

   

Vedi: httpRuntime Element (schema impostazioni ASP.NET)

Ovviamente i numeri (32768 e 65536) nelle impostazioni di configurazione sopra sono solo degli esempi. Non devi usare quei valori esatti.

Nel mio caso (Visual Studio 2012 / IIS Express / ASP.NET MVC 4 app / .Net Framework 4.5) ciò che ha funzionato dopo 30 minuti di tentativi ed errori era l’impostazione della proprietà maxQueryStringLength nel tag :

  

maxQueryStringLength imposta il valore predefinito su 2048 .

Maggiori informazioni qui:

Espansione della gamma di URL consentiti


Ho provato a impostarlo in come suggerisce @MattVarblow , ma non ha funzionato … e questo è perché sto usando IIS Express (basato su IIS 8) sulla mia macchina di sviluppo con Windows 8.

Quando ho distribuito la mia app nell’ambiente di produzione (Windows Server 2008 R2 con IIS 7), IE 10 ha iniziato a restituire 404 errori nelle richieste AJAX con stringhe di query lunghe. Poi ho pensato che il problema fosse legato alla stringa di query e ho provato la risposta di @ MattVarblow. Funzionava solo su IIS 7. 🙂

Qualcos’altro da controllare: se il tuo sito utilizza MVC, questo può succedere se hai aggiunto [Autorizza] alla tua class di controller di accesso. Non può accedere al metodo di accesso perché non è autorizzato e quindi reindirizza al metodo di accesso -> boom.

Ho riscontrato un problema simile nel tentativo di distribuire un’applicazione Web ASP in IIS 8. Per risolvere il problema, l’ho fatto come suggerito da Matt e Leniel sopra. Ma doveva anche configurare le impostazioni di autenticazione del mio sito per abilitare l’autenticazione anonima. E quello ha funzionato per me.

Ho dovuto aggiungere [AllowAnonymous] alle funzioni ActionResult nella mia pagina di accesso perché l’utente non era ancora autenticato.

Se il tuo sito Web utilizza l’autenticazione, ma non hai il metodo di autenticazione corretto impostato in IIS (es. Basic, Forms ecc.), Il browser si bloccherà in un ciclo di reindirizzamento. Questo fa sì che l’url di reindirizzamento diventi sempre più lungo fino a quando non esplode.

Errore HTTP 404.15 – Non trovato Il modulo di filtro delle richieste è configurato per rifiutare una richiesta in cui la stringa di query è troppo lunga.

Per risolvere questo problema, controllare nel codice sorgente se il tag Form ha un method proprietà è stato get / set.

In tal caso, la proprietà del method dovrebbe essere rimossa.