由于请求实体在IIS上太大,因此未显示该页面

Shi*_*oni 17 c# redirect iis-7

我在将一个页面重定向到另一个网页时遇到以下错误:

"由于请求实体太大,因此未显示该页面."

我正在重定向到另一个页面的页面包含大量数据,所以基本上我知道问题的原因.

但是,我正在寻找一个有效的解决方案.其次,当我在这个问题上做了一些谷歌时,我发现当上传任何大文件时会产生这种问题.

但我没有上传任何大文件,它只是页面本身包含大数据.提示解决方案将不胜感激.

Jos*_*980 35

我认为如果您启用了SSL,这将解决问题:

在IIS7.5上的applicationHost.config文件中设置uploadReadAheadSize将在两种情况下解决您的问题.您可以直接在applicationhost.config中修改此值.

  1. 在"默认网站"下选择该站点

  2. 选择配置编辑器

  3. 在Section Dropdown中,选择"system.webServer/serverRuntime"

  4. 为"uploadReadAheadSize"输入更高的值,例如1048576字节.默认值为49152个字节.

在客户端重新协商过程中,必须使用SSL预加载预加载请求实体主体.SSL预加载将使用UploadReadAheadSize配置数据库属性的值,该属性用于ISAPI扩展

参考.


小智 23

我通过执行以下操作使其工作

  1. 转到 IIS。
  2. 点击服务器名称
  3. 在功能(图标)中,选择配置编辑器。
  4. 单击带有设置的顶部的下拉菜单
  5. 遍历路径system.webServer -> security -> requestFiltering -> maxAllowedContentLength 并将其设置为334217728。(然后按回车然后在右上角应用)。

您也可以重新启动网络服务器以进行良好的测量。之后,我可以将我的 150k 数据库上传到 phpymyadmin。

我还在程序/PHP/phpversion/php.ini 中的 php.ini 中将 post_max 大小设置为 8000

它的大小可能有点过大,但是当你有大文件时它可以完成工作。


Tay*_*own 12

对我来说,uploadReadAheadSize 没有解决我的问题。

我在 asp.net web.config 中更改了这两个设置,最后为我上传了文件:

<system.web>
  <system.webServer
<httpRuntime executionTimeout="999999" maxRequestLength="20000" requestValidationMode="2.0" /> <!-- 20 MB -->
</system.web>
Run Code Online (Sandbox Code Playgroud)

  <system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="20500000" />  <!-- 20.5 MB - making it match maxRequestLength to fix issue with uploading 20mb file -->
      </requestFiltering>
   </security>   
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

  • 第二个有帮助 (3认同)
  • 第二个实际上也解决了我的问题 (2认同)