Backend

Maximum Request Length Exceeded Hatasının Çözümü

Genellikle video gibi büyük dosyaları yüklerken alınan hatanın çözümü için web.config dosyasında bir düzenleme yapmak gerekiyor

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
    <system.webServer>
      <security>
         <requestFiltering>
            <requestLimits maxAllowedContentLength="1073741824" />
         </requestFiltering>
      </security>
    </system.webServer>
</configuration>​

  • maxRequestLength kilobayt cinsinden ölçülür
  • maxAllowedContentLength bayt cinsinden ölçülür

bu yapılandırma örneğinde değerlerin farklı olmasının nedeni budur. (Her ikisi de 1 GB'a eşittir.)


Ve birisinin bu istisnayı ele almanın ve kullanıcıya anlamlı bir açıklama göstermenin bir yolunu araması durumunda ("Çok büyük bir dosya yüklüyorsunuz" gibi bir şey):

//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("Lütfen daha küçük bir dosya yükleyin");
    }
}