我面临的问题是,每当我通过Citrix NetScaler向运行IIS7.5的服务器发布/放置JSON时,就会得到一个413请求实体太大。
我们尝试将aspnet:MaxJsonDeserializerMembers设置为30000、40000和512000,如下所示:
<appSettings>
<add key="aspnet:MaxJsonDeserializerMembers" value="xxx" />
</appSettings>以及设置<jsonSerialization maxJsonLength="xxx"/>
但没有任何决心。
在本地测试环境中设置aspnet:MaxJsonDeserializerMembers (我们没有Citrix NetScaler ),工作非常好。
NetScaler中有我应该知道的设置吗?或者有一些IIS设置我也必须知道,考虑到这在我们的本地测试环境中工作,我倾向于稍后,但我并不是所有的基础秘密。
编辑:经过进一步的调查,NetScaler显然是源,因为我们可以在NetScaler后面发布到API。
发布于 2015-07-08 06:33:21
事实证明,这实际上是两种产品的结合。
在内部,我们使用SSL和客户端证书,这意味着我们需要配置一个名为"uploadReadAheadSize“的IIS属性。
http://forums.asp.net/t/1702122.aspx?cannot+find+uploadReadAheadSize+in+applicationHost+config+in+IIS7+5
这是在主机配置中或通过IIS管理器完成的。
...
<system.webServer>
<serverRuntime uploadReadAheadSize="{BYTES}" />
</system.webServer>
...我们现在使用了10 MB = 10485760字节,这表明已经足够了。由于这是默认为48 is,您可能会达到这个相当快。
https://stackoverflow.com/questions/31253347
复制相似问题