Chi ottiene la priorità, maxRequestLength o maxAllowedContentLength?


127

Durante la modifica della dimensione massima consentita del file per il caricamento mi sono imbattuto in queste due impostazioni.

In sytem.web hai il nodo di runtime http con maxRequestLength . Nel system.webServer hai requestLimits con maxAllowedContentLength .

Ora, quale ha la priorità sull'altro? E dobbiamo impostare entrambi o è l'ultimo (quello per IIS7) sufficiente?

Risposte:


196

maxRequestLength indica la dimensione massima della richiesta supportata da ASP.NET, mentre maxAllowedContentLength specifica la lunghezza massima del contenuto in una richiesta supportata da IIS. Quindi è necessario impostare entrambi per caricare file di grandi dimensioni: quello più piccolo "ha la priorità".

(L'ho preso da http://forums.iis.net/t/1169846.aspx - credito dove è dovuto.)

È possibile impostare sia locale in un sito specifico o anche una cartella all'interno di un sito modificando il file web.config appropriato. Se la lunghezza del file (bene, richiesta) è inferiore a maxAllowedContentLength ma superiore a maxRequestLength, l'utente otterrà la pagina di errore standard (ASPX), se ne hai una. Se è il contrario, otterrà invece una pagina di errore IIS. Per questo motivo, potresti voler avere maxAllowedContentLength su un valore molto grande (solo per questo sito Web / cartella) e quindi avere il valore limite maxRequestLength.

Infine, ricorda che maxRequestLength è in KB mentre maxAllowedContentLength è in BYTES!


Ho 3 controlli di caricamento nella mia pagina in cui il controllo di caricamento ha un limite di 50 MB. Quindi sto caricando un totale di 150 MB in un colpo solo, La mia configurazione è maxAllowedContentLength = "51200000" & executionTimeout = "1200" & maxRequestLength = "51200". quale lunghezza dovrei cambiare qui. Per favore, suggerisci
Nirav Vasoya,

21

La risposta breve e dolce è che il più piccolo dei due avrà la precedenza. Un consiglio però: a mio avviso è consigliabile impostare maxRequestLength in modo che sia il più piccolo dei due in quanto è possibile rilevare un'eccezione nell'evento Application_Error del proprio Global.asax nel caso venga superato. Se si supera maxAllowedContentLength, IIS ne tratterà prima invece di ASP.NET, rendendo più complicato gestire il codice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.