28. august 2009 - 16:23Der er
6 kommentarer og 2 løsninger
Maximum request length exceeded
Jeg faar smidt en "Maximum request length exceeded" exception naar en bruger uploader en for stor fil paa min hjemmeside, f.eks. 5mb. Jeg kender til default 4mb graensen, men jeg oensker ikke at saette den op i web.config. Jeg oensker derimod at fange exceptionen - paa "page level" -, og behandle den ved at skrive en besked til brugeren "Din fil er for stor, vaelg venligst en anden".
2 loesninger har jeg fundet paa nettet:
1) Saette maxRequestLength (web.config) til en stoerrere vaerdi (f.eks. 20mb) og derefter teste om filen er for stor.
Dette er imidlertid IKKE en loesning i og med at det udsaetter problemerne, det loeser dem ikke (der er altid brugere som proever at uploade endnu stoerrere filer (f.eks. 30mb)).
2) Behandle fejlen i Application_Error.
Dette er imidlertid ikke en loesning i og med at jeg gerne vil vise fejlen paa "page level" (den side hvorpaa fejlen sker), ikke omdirigere til en anden side eller lign.
Er der nogen der har fundet en smart maade til at loese dette problem?
Loesningen er god (og den jeg leder efter), men den virker ikke i praksis!!!
Hvis filen er stoerrere en maxRequestLength, saa faar jeg en exception paa "application level", dvs. jeg kommer aldrig ind og koerer "page level" kode.
// Do whatever you like with the unhandledException instance. }
Forklaring: 1. Du slipper for global.asax 2. Du håndterer fejlen lokal - du ved den er sket på din side. 3. Du må håndtere den fejlkode eller validere på indholdet - at det er max exceed fejlen du får - hvis du ønsker at håndtere denne specifikt. 4. Husk at kalde Server.ClearErrer(), for at fortælle serveren/applikationen at fejlen, er håndteret fra du som udvikler og bør derfor stoppe her - og at den ikke skal sendes videre i systemet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.