Maksymalna długość żądania przekroczona.

Otrzymuję błąd Maksymalna długość żądania przekroczona podczas próby przesłania filmu na mojej stronie.

Jak to naprawić?

Author: Neeraj Kumar, 2010-10-04

15 answers

Jeśli używasz usług IIS do hostowania aplikacji, domyślny rozmiar pliku jest 4MB. Aby go zwiększyć, użyj poniższej sekcji w swoim web.config -

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

Dla IIS7 i nowszych, musisz również dodać wiersze poniżej:

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

Uwaga :

  • maxRequestLength jest mierzona w kilobajtach
  • maxAllowedContentLength jest mierzona w bajtach

Dlatego wartości różnią się w tym przykładzie konfiguracji. (Oba są odpowiednik 1 GB.)

 2041
Author: Sachin Shanbhag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-06-02 15:22:05

Nie wydaje mi się, żeby to było tutaj wspomniane, ale aby to działało, musiałem dostarczyć obie te wartości w sieci.config:

W system.web

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

I w system.webServer

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

IMPORTANT: obie te wartości muszą być zgodne. W tym przypadku mój maksymalny upload to 1024 megabajty.

MaxRequestLength ma1048576 kilobajtów , a maxAllowedContentLength ma1073741824 bajtów .

Wiem, że to oczywiste, ale łatwo to przeoczyć.
 561
Author: Karl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-18 20:32:03

Warto zauważyć, że możesz ograniczyć tę zmianę do adresu URL, którego chcesz użyć do przesłania, a nie do całej witryny.

<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>
 202
Author: Nick Albrecht,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-13 15:30:59

I na wypadek, gdyby ktoś szukał sposobu na obsługę tego wyjątku i pokazanie użytkownikowi sensownego wyjaśnienia (coś w stylu "przesyłasz plik, który jest za duży"):

//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 (((System.Web.HttpException)httpException.InnerException).WebEventCode == System.Web.Management.WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(ASP.NET wymagane 4 lub później)

 48
Author: Serge Shultz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-21 09:14:49

Maksymalny rozmiar żądania to Domyślnie 4MB (4096 KB)

To jest wyjaśnione tutaj .

Powyższy artykuł wyjaśnia również, jak rozwiązać ten problem:)

 30
Author: Dave,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-04-16 08:18:03

Jeśli nie możesz zaktualizować plików konfiguracyjnych, ale sterujesz kodem, który obsługuje przesyłanie plików, użyj HttpContext.Current.Request.GetBufferlessInputStream(true).

Wartość true dla parametru disableMaxRequestLength mówi frameworkowi, aby ignorował skonfigurowane limity żądań.

Aby uzyskać szczegółowy opis odwiedź https://msdn.microsoft.com/en-us/library/hh195568 (v=vs.110). aspx

 24
Author: Sergey Tarasov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-22 02:31:13

Jest element w sieci.config aby skonfigurować maksymalny rozmiar przesłanego pliku:

<httpRuntime 
    maxRequestLength="1048576"
  />
 20
Author: ema,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-23 18:02:46

Aby podsumować wszystkie odpowiedzi w jednym miejscu:

<system.web>
  <httpRuntime targetFramework="4.5.2" maxRequestLength="1048576"/>
</system.web>

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

Zasady:

  • maxRequestLength (wyrażona w kb) wartość musi odpowiadać maxAllowedContentLength (wyrażona w bajtach).
  • Przez większość czasu Twój system.sekcja web może już zawierać "httpRuntime". Ustaw targetFramework na używaną wersję. NET.

Uwagi:

  • domyślną wartością dla maxRequestLength jest 4096 (4mb). maksymalna wartość to 2,147,483,647
  • wartość domyślna dla maxAllowedContentLength to 30,000,000 (około 30mb). maksymalna wartość to 4,294,967,295

Więcej informacji MSDN

 12
Author: BernieSF,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-21 17:46:46

MaxRequestLength (długość w KB) tutaj jako ex. Wziąłem 1024 (1MB) maxAllowedContentLength (długość w bajtach) powinna być taka sama jak twój maxRequestLength (1048576 bajtów = 1MB).

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

<system.webServer>
   <security>
      <requestFiltering>
          <requestLimits maxAllowedContentLength="1048576"/>
      </requestFiltering>
   </security>
</system.webServer>
 9
Author: UniCoder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-11-02 13:56:45

Mnie też przeszkadzało. Zmodyfikowałem sieć.plik konfiguracyjny, ale nie zadziałał. Okazało się, że są dwie sieci.plik konfiguracyjny w moim projekcie, i powinienem zmodyfikować ten w katalogu ROOT, a nie Pozostałe. Mam nadzieję, że to pomoże.

 6
Author: NiaoBlush,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-31 03:13:13

Jeśli masz żądanie przechodzące do aplikacji w witrynie, upewnij się, że ustawiłeś maxRequestLength w sieci głównej.config. MaxRequestLength w sieci aplikacji.config wydaje się być ignorowany.

 5
Author: mhenry1384,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-19 23:15:41

Potknął mnie fakt, że nasza sieć.plik konfiguracyjny ma wiele systemów.sekcje internetowe: działało, gdy dodałem do systemu.sekcja web, która na poziomie konfiguracji.

 1
Author: Graham Laight,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-18 14:52:31

Musiałem edytować plik C:\Windows\System32\inetsrv\config\applicationHost.config i dodać <requestLimits maxAllowedContentLength="1073741824" /> na końcu...

<configuration>
    <system.webServer>
        <security>
            <requestFiltering>

Sekcja.

Zgodnie z Ten artykuł pomocy technicznej firmy Microsoft

 1
Author: HyperActive,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-30 00:48:40

Miałem do czynienia z tym samym błędem i po spędzeniu czasu rozwiązałem go dodając poniżej linie w sieci.plik konfiguracyjny

<system.web>
   <httpRuntime targetFramework="4.7.1" maxRequestLength="1048576"/>
</system.web>

I

 <system.webServer>
   <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
    </security>
</system.webServer>
 0
Author: Nida Akram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-23 17:16:36

Mogę dodać do config web uncompiled

<system.web> 
  <httpRuntime maxRequestLength="1024" executionTimeout="3600" /> 
  <compilation debug="true"/> 
</system.web> 
<security> 
  <requestFiltering> 
    <requestLimits maxAllowedContentLength="1048576"/> 
  </requestFiltering> 
</security>
 -3
Author: Cesar Miguel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-20 13:56:52