首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何修改Kestrel上传文件的大小

如何修改Kestrel上传文件的大小

作者头像
喵叔
发布于 2022-01-11 08:06:39
发布于 2022-01-11 08:06:39
1.5K00
代码可运行
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏
运行总次数:0
代码可运行

作为.NET程序员我们都清楚如何修改.NET Web程序上传文件的大小,但是我最近在做.NET Core 项目的时候发现我不清楚如何修改Kestrel上传文件的大小,经过翻阅微软官方文档我成功实现了修改Kestrel上传文件大小的。现特分享出来给大伙儿。 在 Net Core 中默认 body 最大是28.6M,如果要修改这个大小,有两种方法,一种是局部修改,另一种是全局修改,下面我分别来说一下。

  1. 局部修改 如果我们只是要修改某个 Controller 或 Action 的 body 的大小,我们可以在 Controller 或 Action 上加上 [RequestSizeLimit(body最大多少字节)] 特性,当然还有一种偷懒的方法就是不限制 body 的大小,在Controller 或 Action 上加上 [DisableRequestSizeLimit] 特性(不建议这么做)。
  2. 全局修改 如果所有的 Controller 和 Action 都要限制 body 大小的时候,我们可以全局修改。全局修改有两种方式,一种是在 Program 类的 CreateWebHostBuilder 方中进行处理。部分代码如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
    return WebHost.CreateDefaultBuilder(args)
              .UseStartup<Startup>()
              .UseKestrel(options =>
              {
                  options.Limits.MaxRequestBodySize = null;
              });
}

上面的代码中 options.Limits.MaxRequestBodySize 就是用来全局设置 Kestrel body 大小的,单位是字节,当赋值为 null 时表示不限制大小。 另一种是在 appsettings.json 文件中配置,并在 Startup 类的 ConfigureServices 方法中加载设置,案例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "Kestrel": {
    "Limits": {
      "MaxRequestBodySize": 1024000
    }
  }
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void ConfigureServices(IServiceCollection services)
 {
     services.Configure<KestrelServerOptions>(
         Configuration.GetSection("Kestrel"));
 }

如果你想在生成主机时就配置 Kestrel 的话,我们可以在 Program 类的 CreateWebHostBuilder 方中读取配置,案例代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureServices((context, services) =>
        {
            services.Configure<KestrelServerOptions>(
                context.Configuration.GetSection("Kestrel"));
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });

TIP:以上代码源自官方示例,更多 Kestrel 的配置请访问微软官方文档。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ASP.NET Core部署HTTPS
上面两段代码描述的都是Kestrel服务的option从配置文件中读取 紧接着在startup中增加 app.UseHttpsRedirection(); app.UseHsts();//默认是开启的,如果是,就不用管它 2,在配置文件appsettings.json中增加,这是单独的配置节点 ,其中path,是pfx文件的位置,password是证书的密码,在阿里云申请的证书,下载iis版的就有这两个。
Echo_Wish
2023/11/30
4080
.NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入
上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着带着你一步一步的配置了.NET Core的开发环境并创建了一个ASP.NET Core的mvc项目,同时又通过一个实战教你如何在页面显示一个Content的列表。不知道你有没有跟着敲下代码,千万不要做眼高手低的人哦。这篇文章我们就会设计一些复杂的概念了,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等。俗话说,授人以鱼不如授人以渔,所以文章旨在带着大家分析源码,让大家能知其然更能知其所以然。为了偷懒,继续使用上篇文章的例子了!有兴趣的朋友可以加群637326624相互交流!
依乐祝
2018/11/28
8030
.NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入
.NET Core 的Generic Host 之Generic Host Builder
通用Host(Generic Host) 与 web Host 不同的地方就是通用Host解耦了Http请求管道,使得通用Host拥有更广的应用场景。比如:消息收发、后台任务以及其他非http的工作负载。这些场景都可以通过使用通用Host拥有横切(Cross-cutting)的能力,比如:配置、依赖注入和日志记录。 ***
全栈程序员站长
2022/11/04
1.5K0
.NET Core 的Generic Host 之Generic Host Builder
ASP.NET Core技术研究-探秘Host主机启动过程
当我们将原有ASP.NET 应用程序升级迁移到ASP.NET Core之后,我们发现代码工程中多了两个类Program类和Startup类。
李明成
2020/04/15
1.5K0
ASP.NET Core技术研究-探秘Host主机启动过程
dotNET Core 3.X 请求处理管道和中间件的理解
理解 dotNET Core 中的管道模型,对我们学习 dotNET Core 有很大的好处,能让我们知其然,也知其所以然,这样在使用第三方组件或者自己写一些扩展时,可以避免入坑,或者说避免同样的问题多次入坑。
oec2003
2020/04/24
7750
dotNET Core 3.X 请求处理管道和中间件的理解
知识全聚集 .Net Core 技术突破 | 如何实现一个模块化方案一
其实来简单想一下模块化的实验思路,写个接口=>模块类继承该接口=>项目启动反射检索=>调用接口实现。 那么具体到代码实践应该怎么写呢。
李明成
2020/09/25
9190
知识全聚集 .Net Core 技术突破 | 如何实现一个模块化方案一
《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(上)
ASP.NET Core 应用程序启动时,它首先会配置并运行其宿主,宿主主要用来启动、初始化应用程序,并管理其生命周期
郑子铭
2021/01/13
9760
《ASP.ENT Core 与 RESTful API 开发实战》(第3章)-- 读书笔记(上)
asp.net core 系列之Startup
而在 Program 中,当 host builder 上的 Build 被调用时,应用的 host 被 built 。
Vincent-yuan
2019/09/10
5630
asp.net core 系列之Startup
ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境
"跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观"到"微观"地看一下它的结构以及不同时期都干了些什 本章主要内容如下: ASP.NE
FlyLolo
2018/05/17
1.1K0
.NET Core 3.0 之初识Host源码
ASP .NET Core中的通用主机构建器是在v2.1中引入的,应用在启动时构建主机,主机作为一个对象用于封装应用资源以及应用程序启动和生存期管理。其主要功能包括配置初始化(包括加载配置以及配置转换为通用的键值对格式),创建托管环境和Host通用上下文、依赖注入等。
AI.NET 极客圈
2019/07/19
8340
.NET Core 3.0 之初识Host源码
指定 ASP.NET Core 应用监听的端口
ASP.NET Core 应用默认监听的端口是 5000 , 在调试或者部署的过程中经常需要指定监听的端口来来运行, 本文就这个问题, 进行一个总结, 可以通过下面的方法来指定运行端口。
beginor
2020/08/07
2.4K0
NET Core Kestrel部署HTTPS 一个服务器绑一个证书 一个服务器绑多个证书
.net core 3.0 网站发布到centos后,绑定ssl证书,一个服务器绑一个证书,一个服务器绑多个证书
FreeTimeWorker
2020/08/31
3.6K0
ASP.NET Core 2.0 : 五.服务是如何加载并运行的, Kestrel、配置与环境
"跨平台"后的ASP.Net Core是如何接收并处理请求的呢? 它的运行和处理机制和之前有什么不同? 本章从"宏观"到"微观"地看一下它的结构以及不同时期都干了些什么. ASP.NET Core
FlyLolo
2018/06/21
1.1K0
Do you kown Asp.Net Core -- 配置Kestrel端口
Kestrel介绍 在Asp.Net Core中,我们的web application 其实是运行在Kestrel服务上,它是一个基于libuv开源的跨平台可运行 Asp.Net Core 的web服务器。 在开发阶段,我们可以直接使用Kestrel服务器用来测试,也可以使用IISExpress。在使用IISExpress其实也需要启动一个Kestrel服务器,通过IISExpress反向代理请求到Kestrel,很多时候我更喜欢使用Kestrel,因为可以实时看到log。 配置端口 在Socket开发中,
脑洞的蜂蜜
2018/02/01
2.1K0
ASP.NET Core单文件和多文件上传并保存到服务端
  在我们日常开发中,关于图片,视频,音频,文档等相关文件上传并保存到服务端中是非常常见的一个功能,今天主要是把自己在开发中常用的两种方式记录下来方便一下直接使用,并且希望能够帮助到有需要的同学!
追逐时光者
2020/04/09
1.9K0
ASP.NET Core分布式项目实战(oauth2 + oidc 实现 client部分)--学习笔记
任务16:oauth2 + oidc 实现 client部分 实现 client 之前启动一下上一节的 server,启动之前需要清除一些代码 注释 Program 的 MigrateDbContext public static void Main(string[] args) { BuildWebHost(args) //.MigrateDbContext<ApplicationDbContext>((context, services) => { // n
郑子铭
2021/01/13
8090
ASP.NET Core分布式项目实战(oauth2 + oidc 实现 client部分)--学习笔记
asp.net core 系列之Configuration
在ASP.NET Core中的App configuration 是通过configuration providers基于key-value对建立的。Configuration providers读取配置文件到key-value,从多种配置源中:
Vincent-yuan
2019/09/11
1.5K0
asp.net core 系列之Configuration
ASP.NET CORE 启动过程及源码解读
在这个特殊的春节,大家想必都在家出不了门,远看已经到了回城里上班的日子,但是因为一只蝙蝠的原因导致我们无法回到工作岗位,大家可能有的在家远程办公,有些在家躺着看书,有的是在家打游戏;在这个特殊无聊的日子,从无聊的被窝中 开启了流量共享wifi 来进行.net core 3.1 源代码的解读和学习,并且把学习到的东西分享给大家。
Jlion
2022/04/07
4.7K0
ASP.NET CORE 启动过程及源码解读
ASP.NET Core中如何更改文件上传大小限制maxAllowedContentLength属性值
Web.config中的maxAllowedContentLength这个属性可以用来设置Http的Post类型请求可以提交的最大数据量,超过这个数据量的Http请求ASP.NET Core会拒绝并报错,由于ASP.NET Core的项目文件中取消了Web.config文件,所以我们无法直接在visual studio的解决方案目录中再来设置maxAllowedContentLength的属性值。
跟着阿笨一起玩NET
2021/06/09
5.4K0
ASP.NET Core中如何更改文件上传大小限制maxAllowedContentLength属性值
.NET 5 修改配置不重启自动生效
.NET Core,.NET 5 默认配置都是只加载一次,修改配置时都需要重启才能生效,如何能修改即时生效呢,下面来演示一遍。
沙漠尽头的狼
2021/12/01
1.1K0
.NET 5 修改配置不重启自动生效
推荐阅读
相关推荐
ASP.NET Core部署HTTPS
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验