2014-04-27 13 views
5

Chcę przekonwertować kod .Net Framework 4.0 do .Net framework 4.5. Jest to w zasadzie kod związany z przesyłaniem pliku powiązany z plikiem. Teraz mam pewne problemy. Jaka jest maksymalna wartość maxRequestLength? już dodać ten wiersz w moim pliku web.configale to nie działa i kod błędu 0x800700b7maxRequestLength dla .Net 4.5.1 framework

<system.web> 
<httpRuntime maxRequestLength="102400" executionTimeout ="3600" /> 
<compilation debug="true" targetFramework="4.5" /> 
<httpRuntime targetFramework="4.5"/> 
<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="2880"/> 
</authentication> 
<pages> 
    <namespaces> 
    <add namespace="System.Web.Helpers"/> 
    <add namespace="System.Web.Mvc"/> 
    <add namespace="System.Web.Mvc.Ajax"/> 
    <add namespace="System.Web.Mvc.Html"/> 
    <add namespace="System.Web.Optimization"/> 
    <add namespace="System.Web.Routing"/> 
    <add namespace="System.Web.WebPages"/> 
    </namespaces> 
    </pages> 
    <compilation debug="true"/> 
    </system.web> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 

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

<handlers> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." /> 
</handlers> 

Odpowiedz

8

Jeśli są przechowywane w IIS, potrzebne są dwa ustawienia:

  • maxRequestLength - w ASP.net (mierzona w kb)
  • maxAllowedContentLength - dla IIS (w bajtach)

konfiguracji próbki (to jest 100 MB prędkość wysyłania)

<configuration> 
    <system.web> 
     <httpRuntime maxRequestLength="102400" executionTimeout="3600" /> 
    </system.web> 
</configuration> 
<system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="104857600" /> 
     </requestFiltering> 
    </security> 
</system.webServer> 

Mniejszy z nich ma pierwszeństwo. W przypadku IIS wartość domyślna to 4 MB.

Obsługa błędów

Oba rzuty różne wyjątki.

  • maxRequestLength - Ilekroć pliku przekroczy to ustawienie, dostaniesz Application_Error (standard error ASP)
  • maxAllowedContentLength - Ilekroć pliku przekroczy to ustawienie, dostaniesz błąd IIS.

Błąd IIS jest trudniejszy do debugowania, dlatego zaleca się ustawienie większej wartości maxAllowedContentLength. maxRequestLength jest łatwiejszy do przechwycenia, ponieważ jest na poziomie aplikacji.

Źródła:

+0

Dzięki: D To działa. – mgsdew

Powiązane problemy