IIS进程内部署时

1. Web.Config的<system.webServer>节点下增加

<security>

     <requestFiltering>

         <requestLimits maxAllowedContentLength="20971520" />

    </requestFiltering>

</security>

2. 配置IISServerOptions选项

services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = 20971520; // 20M
});

若使用IIS托管时,可以根据请求响应的状态码确定是IIS报错(413)还是asp.net core框架(500)报错。

Kestrel部署

1. 配置KestrelServerOptions选项

services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = 20971520; // 20M
});

 

全局设置(不区分部署方式)

context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 20971520;  // 20M

通过获取IHttpMaxRequestBodySizeFeature接口的实现类来设置最大请求体大小,该接口在不同的部署环境中具体的实现类不一样,

IIS中为:

HTTP1/2  Microsoft.AspNetCore.Server.IIS.Core.IISHttpContextOfT<Microsoft.AspNetCore.Hosting.HostingApplication.Context>

Kestrel中为:

HTTP1  Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1Connection<Microsoft.AspNetCore.Hosting.HostingApplication.Context>

HTTP2  Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.Http2Stream<Microsoft.AspNetCore.Hosting.HostingApplication.Context>

这几个实现类中都实现了IHttpMaxRequestBodySizeFeature接口

需要注意的是该设置方式必须在读取请求体之前设置。

internal class Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Http1ContentLengthMessageBody

protected override void OnReadStarting()
{
        long contentLength = this._contentLength;
        long? maxRequestBodySize = this._context.MaxRequestBodySize;
        if (contentLength > maxRequestBodySize.GetValueOrDefault() & maxRequestBodySize != null)
        {
            BadHttpRequestException.Throw(RequestRejectionReason.RequestBodyTooLarge);
        }
}

Asp.Net Core上传大文件请求体限制设置的更多相关文章

  1. ASP.NET Core 上传大文件无法接收的问题

    解决办法:在API项目中配置 1. 在 web.config 文件中 <system.webServer>里加入 <security> <requestFiltering ...

  2. [Asp.net]Uploadify上传大文件,Http error 404 解决方案

    引言 之前使用Uploadify做了一个上传图片并预览的功能,今天在项目中,要使用该插件上传大文件.之前弄过上传图片的demo,就使用该demo进行测试.可以查看我的这篇文章:[Asp.net]Upl ...

  3. [Asp.net]Uploadify上传大文件,Http error 404 解决方案 - wolfy

    引言 之前使用Uploadify做了一个上传图片并预览的功能,今天在项目中,要使用该插件上传大文件.之前弄过上传图片的demo,就使用该demo进行测试.可以查看我的这篇文章: [Asp.net]Up ...

  4. c# asp.net uploadify 上传大文件 出现的 HTTP 404 问题

    用uploadify在IIS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. 查了半天,原来是IIS7下的默认设置限制了上传大小.这个时候Web.Config中 ...

  5. asp.net上传大文件-请求筛选模块被配置为拒绝超过请求内容长度的请求

    HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大 ...

  6. ASP.NET Core 上传多文件 超简单教程

    示例源码下载地址 https://qcloud.coding.net/api/project/3915794/files/4463836/download 项目地址 https://dev.tence ...

  7. C# Asp.NET实现上传大文件(断点续传)

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  8. asp.net fileupload上传大文件时提示404.13错误

    IIS 7 默认文件上传大小时30M 要突破这个限制,需要做如下操作: 1. 修改IIS的applicationhost.config     打开 %windir%\system32\inetsrv ...

  9. ASP.NET MVC 上传大文件时404

    前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M ...

  10. .net core 上传大文件

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Thr ...

随机推荐

  1. linux下删除文件夹的软链接时注意千万不能在后面加反斜杠,千万不要用强制删除,否则下面2种场景,你会把源文件删除,要闯祸的

    今天遇到一个坑,自己在子目录下创建了父目录的软链接,导致可以无限循环进入父目录 [clouder@ana53 dir1]$ ll total 8 -rw-rw-r-- 1 clouder cloude ...

  2. Cesium计算三角形面积(十)

    function triangleArea(p0, p1, p2) { //利用subtract计算出两个向量 let v0=Cesium.Cartesian3.subtract(p0,p1,newC ...

  3. Hexo系列(一):Hexo简介

    作者:独笔孤行 官网:​​ ​http://anyamaze.com​​ 公众号:云实战 前言 博客网站的实现方法有很多种,常用的博客框架主要有wordpress.Z-Blog.hexo.Typech ...

  4. CCRD_TOC_2015_EULAR专刊

    中信国健风湿免疫临床通讯 EULAR2015专刊●目录 脊柱关节炎专题 OP0037 ASAS-CoMoSpA研究: 评价SpA不同分类标准的表现 OP0170 NSAIDs以优化剂量治疗中轴型SpA ...

  5. 电子辅助的个体化严密控制策略比常规方法更有效地帮助早期RA实现全面控制病情[EULAR2015_THU0122]

    电子辅助的个体化严密控制策略比常规方法更有效地帮助早期RA实现全面控制病情 THU0122 A TAILORED TELEMONITORING TIGHT CONTROL STRATEGY FOR P ...

  6. python (),[], {}的含义

    1.python ()表示元组,元组是一种不可变序列 1)创建如:tuple = (1,2,3) 取数据 tuple[0]...... tuple[0,2].....tuple[1,2]...... ...

  7. postgresql序列基本操作

    1.创建序列 CREATE SEQUENCE if not exists test_mergetable_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 99999999 ...

  8. 银河麒麟服务器V10-SP2安装tomcat

    1.首先先去tomcat官网下载一个安装包 2.创建一个存放压缩包的文件夹,并考入文件 3.解压tomcat压缩包 命令: tar -xvf 压缩包名 4.启动tomcat 进入apache-tomc ...

  9. I2C接口(续一)

    I2C接口共涉及到18个寄存器,下面就来对它们进行具体分析. 先来看I2C配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40050000(I2C0),0x40054000(I2C1),0x4 ...

  10. No.1.8

    定位 网页常见布局 标准流(块级元素独占一行-->垂直布局,行内元素/行内块元素一行显示多个-->水平布局) 浮动(可以让原本垂直布局的块级元素变成水平布局) 定位(可以让元素自由的摆放在 ...