ASP.NET Core中调整HTTP请求大小的几种方法详解
它通过IHttpMaxRequestBodySizeFeature 特征进行配置, 1.MVC的解决方案 MVC Core中为我们提供了两种特性配置请求大小: RequestSizeLimit Attribute。
我们可以通过这个管道的定制来满足各种场景下的HTTP处理需求, HTTP协议自身的特性决定了任何一个Web应用的工作方式都是监听、接收并处理HTTP请求。
000,也是说设置为无限制,会影响到每个请求,谢谢大家对聚合云库的支持,组成这个管道的各个环节一次对它作相应的处理,实际上MVC和SingalR这两个重要的Web框架也是采用这样的方式创建的,我们根据HTTP请求的处理流程定制出一个消息处理管道, 而在HttpSys 中的HTTP状态码将是500(Internal Server Error),ASP. NET Core应用的很多特性,只有在上传一些大文件,HTTP请求处理是管道式设计典型的应用场景, 一、前言 之所以称ASP.NET Core是一个Web开发平台,对每个Action的请求大小进行配置。
如下调整MyAction的请求大小值为100,就会引发IOException异常,当然也可以在ApplicationServices的IOC中获取,000 字节. ? 1 2 3 4 5 [HttpPost] [RequestSizeLimit(100_000_000)] public IActionResult MyAction([FromBody] MyViewModel data) { } DisableRequestSizeLimit Attribute可以同时应用到Controller和Action上,如果这个异常未被捕获,它的两个宿主服务器Kestrel和HttpSys默认的HTTP最大请求大小为30MB (~28.6 MiB), 在ASP.NET Core 2.0中,我们甚至可以通过管道定制在ASP.NET Core平台上创建我们自己的Web框架,需要的朋友们下面随着小编来一起学习学习吧,IsReadOnly属性说明此时上下文中的请求大小是否可以修改, 一般的情况下。
二、解决方案 在ASP.NET Core中这个配置可以基于全局和每次请求进行配置。
以禁用对HTTP请求的大小限制,类拟于MVC中的[DisableRequestSizeLimit]]。
? 1 2 3 4 .UseKestrel(options = { options.Limits.MaxRequestBodySize = null; } ? 1 2 3 4 .UseHttpSys(options = { options.MaxRequestBodySize = 100_000_000; } 总结 以上就是这篇文章的全部内容了。
源于它具有一个极具扩展性的请求处理管道, 如果当HTTP请求值大于这个默认配置时,在Kestrel服务器中输出HTTP状态码413(Request Entity Too Large),让接收到的HTTP请求消息想水一样流入这个管道,如下在HttpContext中取得,我们都无需调用HTTP请求的大小,也同时定制消息处理管道来实现的,并最终转变成回复给客户端的HTTP响应,如果有疑问大家可以留言交流。
比如路由、认证、会话、缓存等,对大家的学习或者工作具有一定的参考学习价值,并在最终对请求予以响应, 3.全局配置解决方案 通过两个宿主服务器Kestrel和HttpSys配置对请求大小进行修改,规则与前两种方案相同, ? 1 HttpContext.Features.GetIHttpMaxRequestBodySizeFeature().MaxRequestBodySize = 100_000_000; IHttpMaxRequestBodySizeFeature特征的MaxRequestBodySize属性是Nullable long 类型,在执行Request.Body.ReadAsync方法时,或者使用HTTP协议写入较大的值时(如调用WebService)才可能会调用HTTP最大请求值,当然也可以通过一些灵活的配置对单个请求进行修改。
当设置为null时,文中通过示例代码介绍的非常详细, , 这篇文章主要给大家介绍了关于在ASP.NET Core中如何调整HTTP请求大小的几种方法,处理的结果同样转变成消息逆向流入这个管道进行处理, ? 1 2 3 4 5 [HttpPost] [DisableRequestSizeLimit] public IActionResult MyAction([FromBody] MyViewModel data) { } 2.请求上下文的解决方案 这个方案是一个全局配置方案,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/net/11985.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PS:这里需要注意
时间:2021-01-22
-
以为这个版本出来
时间:2021-01-22
-
搜索winform designer
时间:2021-01-22
-
全新的membership框架Asp.ne
时间:2021-01-21
-
i dont know;18if (msg.Contains(
时间:2021-01-21
-
统筹管理路由规则.
时间:2021-01-21
-
根据switch-case语句来逐一判
时间:2021-01-21
-
EntityFramework 5.0 CodeFirst 教
时间:2021-01-21
热门文章
-
.NET 开发环境搭建图文详解
时间:2020-12-27
-
Windows下Visual Studio 2017安装配置方法图文教
时间:2020-12-23
-
PS: 如果项目中使用了通用主机或者ASP.
时间:2021-01-12
-
.Net微信网页开发解决用户在不同公众号或
时间:2021-01-03
-
oracle 11g rac安装之grid报错解决
时间:2020-12-28
-
以为这个版本出来
时间:2021-01-22
-
ASP.NET Core 3.0使用gRPC的具体方法
时间:2020-12-26
-
SpringBoot实战之文件上传存入AzureStorage
时间:2020-12-29
-
不用找了,比较全的signalR例子已经为你准
时间:2020-12-29
-
.NET Core3.1编写混合C++程序
时间:2020-12-26
