Question Longueur maximale de la requête dépassée.


Je reçois l'erreur Longueur maximale de la requête dépassée quand j'essaye de télécharger une vidéo sur mon site.

Comment puis-je réparer ça?


857
2017-10-04 08:48


origine


Réponses:


Si vous utilisez IIS pour héberger votre application, la taille du fichier de téléchargement par défaut est de 4 Mo. Pour l'augmenter, utilisez cette section ci-dessous dans votre web.config -

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

Pour IIS7 et plus, vous devez également ajouter les lignes ci-dessous:

 <system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
 </system.webServer>

Remarque:

  • maxRequestLength est mesurée en kilo-octets
  • maxAllowedContentLength est mesurée en octets 

c'est pourquoi les valeurs diffèrent dans cet exemple de configuration. (Les deux sont équivalents à 1 Go)


1650
2017-10-04 08:52



Je ne pense pas que cela a été mentionné ici, mais pour que cela fonctionne, j'ai dû fournir ces deux valeurs dans le fichier web.config:

Dans system.web

<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />

Et en system.webServer

<security>
    <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
</security>

IMPORTANT : Ces deux valeurs doivent correspondre. Dans ce cas, mon téléchargement maximum est de 1024 mégaoctets.

maxRequestLength a 1048576 KILOBYTES, et maxAllowedContentLength a 1073741824 BYTES.

Je sais que c'est évident, mais c'est facile à oublier.


499
2017-09-19 13:45



Il peut être utile de noter que vous souhaiterez peut-être limiter cette modification à l'URL que vous prévoyez utiliser pour le téléchargement plutôt qu'à l'ensemble de votre site.

<location path="Documents/Upload">
  <system.web>
    <!-- 50MB in kilobytes, default is 4096 or 4MB-->
    <httpRuntime maxRequestLength="51200" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->
        <requestLimits maxAllowedContentLength="52428800" /> 
      </requestFiltering>
    </security>
  </system.webServer>
</location>

168
2018-05-06 16:57



Et juste au cas où quelqu'un chercherait un moyen de gérer cette exception et montrerait une explication significative à l'utilisateur (quelque chose comme "Vous téléchargez un fichier qui est trop gros"):

//Global.asax
private void Application_Error(object sender, EventArgs e)
{
    var ex = Server.GetLastError();
    var httpException = ex as HttpException ?? ex.InnerException as HttpException;
    if(httpException == null) return;

    if(httpException.WebEventCode == WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(ASP.NET 4 ou plus récent requis)


34
2018-05-23 19:58



La taille maximale de la requête est, par défaut, de 4 Mo (4096 Ko)

Ceci est expliqué ici: http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626

L'article ci-dessus explique également comment résoudre ce problème :)


24
2017-10-04 08:51



Il y a un élément dans web.config pour configurer la taille maximale du fichier téléchargé:

<httpRuntime 
    maxRequestLength="1048576"
  />

17
2017-10-04 08:52



maxRequestLength (longueur en Ko) Ici comme ex. J'ai pris 1024 (1MB)    maxAllowedContentLength (longueur en octets) doit être identique à votre valeur maxRequestLength (1048576 bytes = 1 Mo).

<system.web>
   <httpRuntime maxRequestLength="1024"
             executionTimeout="3600" />
   <compilation debug="true"/>
</system.web>

<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1048576"/>
  </requestFiltering>
</security>

6
2017-12-04 09:07