我遇到了一个奇怪的错误(不是很奇怪,我想这是因为我可能不知道的一些最大长度限制)。我正在开发一个自定义服务器控件,它为员工呈现自定义搜索服务。成功搜索员工后,我从json中的WCF服务获取整个对象(List),将字符串保存在隐藏字段中,并回发后面的代码以获取json字符串并反序列化为对象。现在,最多2000个对象,它运行完美,但当搜索条件开始取得2000以上时,出现以下错误
Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 0
我也调试了代码,但c#代码甚至没有捕获任何调用。我还尝试将json对象的字符串保存在多个隐藏字段中,每个字段在json字符串中有1000条记录。但是,错误仍在继续。这告诉我对表单的最大大小有某种限制。我可以获得任何解决此问题的方法,或者我是否必须将ID发送到后面的代码并从服务中获取对象?实际上,服务URL应该是动态的,主机应用程序将提供它,所以我试图不在C#级别引入任何服务绑定(你知道了,我猜)。
答案 0 :(得分:4)
ASP.NET确实有最大请求大小 - 根据documentation,它默认为4MB。如果您认为可能达到了这个限制,可以通过在<system.web>
标记内的web.config文件中添加以下内容来增加它:
<httpRuntime maxRequestLength="x">
其中x是以千字节为单位的所需最大值。例如,10240将是10MB。
答案 1 :(得分:1)
当我来回传递大量用于映射的数据时,我遇到了这个问题 - 在数据太大之后我丢失了数据。我对web.config进行了一些更改:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
<add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
</appSettings>