HttpClient向后端的WebAPI工程发送HTTP的Post请求时,返回超过了最大请求长度的异常的解决方法

时间:2022-08-28 13:41:59

文章中的内容以及解决思路参考(转载)的 http://www.jb51.net/article/88698.htm

在WPF项目中通过HttpClient向后端的WebAPI工程发送HTTP的Post请求时返回了下图所示的异常信息:

HttpClient向后端的WebAPI工程发送HTTP的Post请求时,返回超过了最大请求长度的异常的解决方法

"超过了最大请求长度"的异常,是因为发送的请求包含了一帧1080p的图片base64编码的图像(大小10M左右),但是IIS默认请求长度4M,当请求长度大于这个值的时候报错,下面是解决方案.

解决方案:修改WebAPI工程的web.config文件

1、注意在mvc中有两个web.config文件,如下图,一个位于Views下,是用来控制view中的文件;还有一个在位于根目录下,对所有文件起作用。我们修改根目录下web.config

HttpClient向后端的WebAPI工程发送HTTP的Post请求时,返回超过了最大请求长度的异常的解决方法

2、修改maxRequestLength:在web.config中我们修改<system.web></system.web>中的maxRequestLength,表示最大请求长度,单位是kb,默认4M

HttpClient向后端的WebAPI工程发送HTTP的Post请求时,返回超过了最大请求长度的异常的解决方法

3、修改maxAllowedContentLength:在web.config中我们修改<system.webServer></system.webServer>中的maxAllowedContentLength,表示附件大小上限,单位是字节,默认约30M

HttpClient向后端的WebAPI工程发送HTTP的Post请求时,返回超过了最大请求长度的异常的解决方法

注意:maxRequestLength与maxAllowedContentLength的区别

a、前者表示请求长度,后者表示上传文件的大小;

b、前者单位kb,后者单位字节;

c、前者默认值4M,后者默认值30000000B,约30M;

d、两者的最大值都为2G