SharePoint(C#/Angular)方案遭遇413请求实体过大问题求助
排查413 Request Entity Too Large错误的补充方案
针对你基于C#后端、Angular前端的SharePoint解决方案遇到的413错误,除了你已完成的配置,可从以下方向进一步排查:
1. SharePoint自身上传限制
SharePoint存在独立于IIS的文件大小管控,需检查:
- 进入SharePoint管理中心,依次点击应用程序管理 > 管理Web应用程序,选中目标Web应用后点击功能区的常规设置,找到最大上传大小项,确认设置值大于当前上传文件的大小(单位为MB)。
2. ASP.NET/C#后端的深层配置
除基础web.config设置外,需补充检查:
- 在web.config的
<system.web>节点下,确认httpRuntime的maxRequestLength配置足够大(单位为KB,50MB对应maxRequestLength="51200"):<system.web> <httpRuntime maxRequestLength="51200" executionTimeout="3600" /> </system.web> - 若使用.NET Framework 4.5+或OWIN框架,需确保
<system.webServer>下的requestFiltering配置正确:<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="52428800" /> </requestFiltering> </security> </system.webServer> - 若项目使用Web API,检查全局或控制器级别的消息大小限制:
// 全局配置示例 GlobalConfiguration.Configuration.MaxReceivedMessageSize = 52428800; // 控制器属性示例 [HttpPost] public async Task<IHttpActionResult> UploadFile() { // 业务逻辑代码 }
3. Angular前端请求配置检查
前端发送请求时也可能存在隐性限制:
- 若使用HttpClient发送请求,确认未通过拦截器修改请求头或限制请求大小,同时检查
Content-Length头是否正确传递。 - 若使用第三方文件上传组件(如ngx-file-drop),检查组件自身是否有上传大小限制的配置项。
4. 中间代理层的限制排查
如果部署架构包含反向代理(如Nginx、IIS ARR):
- 若是IIS ARR,需在代理服务器的web.config中同步配置
requestFiltering和uploadReadAheadSize。 - 若是Nginx,修改
nginx.conf中的client_max_body_size参数,设置为匹配的大小(如client_max_body_size 50M;)。
5. IIS应用池生效验证
修改IIS相关配置后,务必回收对应应用池,确保配置完全生效;同时检查应用池的队列长度、请求超时设置,避免因超时触发间接错误。
内容的提问来源于stack exchange,提问作者SimonG815
相关产品推荐
相关产品推荐

