4

我遇到了一个奇怪的错误(不是很奇怪,我想这是因为我可能不知道一些最大长度限制)。我正在开发自定义服务器控件,它为员工提供自定义搜索服务。成功搜索员工后,我从 WCF 服务中以 json 格式获取他们的整个对象(列表),将字符串保存在隐藏字段中,并回发后面的代码以获取 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 条记录。但是,错误仍然不断出现。这告诉我对表格的最大尺寸有某种限制。我可以为这个问题找到任何解决方案,还是我必须将 Ids 发送到后面的代码并从那里的服务中获取对象?实际上,服务 url 应该是动态的,主机应用程序会提供它,所以我尽量不在 C# 级别引入任何服务绑定(我猜你明白了)。

4

2 回答 2

5

根据文档,ASP.NET 确实有最大请求大小——默认为 4MB 。如果您认为您可能会达到该限制,您可以通过将以下内容添加到<system.web>标签内的 web.config 文件中来增加它:

<httpRuntime maxRequestLength="x">

其中 x 是以千字节为单位的所需最大值。例如,10240 将是 10MB。

于 2013-03-26T15:51:20.727 回答
1

当我来回传递大量数据以进行映射时遇到了这个问题 - 在数据太大后我丢失了数据。我对 web.config 进行了一些更改:

 <appSettings>    
     <add key="aspnet:MaxHttpCollectionKeys" value="5000" />
     <add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
</appSettings>
于 2013-03-26T15:54:01.910 回答