请求实体对于自托管 ASP.Net Web API 来说太大
Posted
技术标签:
【中文标题】请求实体对于自托管 ASP.Net Web API 来说太大【英文标题】:Request Entity Too Large for Self Hosted ASP.Net Web API 【发布时间】:2013-10-27 12:31:14 【问题描述】:我有 大量 json 需要发布到 自托管 ASP.Net Web API 服务。
我收到“Status Code:413 Request Entity Too Large”消息。
尝试在webapi服务项目的app.config中放入如下内容。
<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
<httpRuntime
maxRequestLength="2147483647"
executionTimeout="300" />
</system.web>
这没有帮助。
我正在考虑以下两个选项。
-
可能使用LZW compression library解压javascript中的数据,接收后在webapi端解码。
找到一种方法让 webapi 基础架构允许大量数据
我更喜欢第二个选项,但还没有找到如何实现它。
任何指针?
【问题讨论】:
【参考方案1】:我遇到了同样的问题,并且能够对代码进行更改。
var config = new HttpSelfHostConfiguration(host);
config.MaxReceivedMessageSize = 2147483647; // use config for this value
/*
other setup for the config
*/
using (var server = new HttpSelfHostServer(config))
server.OpenAsync().Wait();
Console.WriteLine("Insight.Web");
Console.ReadLine();
【讨论】:
这是正确的答案。在您回复之前,我在浏览 config 上的属性时不小心弄明白了,并且工作得像个魅力。以上是关于请求实体对于自托管 ASP.Net Web API 来说太大的主要内容,如果未能解决你的问题,请参考以下文章
强大的自托管服务器的最佳选择:WCF 与 ASP.NET Web Api
使用 OData 的 ASP.Net Core Web API 实现对于单个实体 URI 失败