C# ASP.net中的隐藏字段长度有限制吗
我遇到了一个奇怪的错误(不是很奇怪,我想这是因为一些我可能不知道的最大长度限制)。我正在使用自定义服务器控件,它为员工提供自定义搜索服务。当成功搜索员工时,我从WCF服务中获取他们的整个对象(列表),并将字符串保存在一个隐藏字段中,然后回发代码,以获取json字符串并反序列化为对象。现在,多达2000个对象,它工作得完美无缺,但当搜索条件开始超过2000个对象时,以下错误开始出现C# ASP.net中的隐藏字段长度有限制吗,c#,asp.net,wcf,hidden-field,asp.net-customcontrol,C#,Asp.net,Wcf,Hidden Field,Asp.net Customcontrol,我遇到了一个奇怪的错误(不是很奇怪,我想这是因为一些我可能不知道的最大长度限制)。我正在使用自定义服务器控件,它为员工提供自定义搜索服务。当成功搜索员工时,我从WCF服务中获取他们的整个对象(列表),并将字符串保存在一个隐藏字段中,然后回发代码,以获取json字符串并反序列化为对象。现在,多达2000个对象,它工作得完美无缺,但当搜索条件开始超过2000个对象时,以下错误开始出现 Uncaught Sys.WebForms.PageRequestManagerServerErrorExcepti
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字符串保存在多个隐藏字段中,每个字段都有1000条json字符串记录。但是,错误仍然不断出现。这告诉我对表单的最大大小有某种限制。我能为这个问题找到解决方案吗,或者我必须向代码背后发送ID并从那里的服务获取对象吗?实际上,服务url应该是动态的,主机应用程序将提供它,所以我尽量不在C#级引入任何服务绑定(我想你明白了)。ASP.NET确实有一个最大请求大小——根据。如果您认为您可能达到了该限制,可以通过在
标记内的web.config文件中添加以下内容来增加该限制:
<httpRuntime maxRequestLength="x">
其中x是所需的最大值(以KB为单位)。例如,10240将是10MB。我在来回传递大量数据进行映射时遇到了这个问题-数据太大后,我丢失了数据。我对web.config进行了一些更改:
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="5000" />
<add key="aspnet:MaxJsonDeserializerMembers" value="5000" />
</appSettings>
我认为这不是最好的方法。当你在搜索某样东西时,你真的想展示超过x(比如100)个人吗?由于用户不打算滚动5000+?,因此应将更多页面调进/调出?!不,不,你没有理解我,我的意思是有一个选项可以选择搜索条件中的所有员工,这些员工甚至不在页面上(分页是通过向下滚动实现的),在这种情况下,我必须使所有选中的员工在自定义控件公开的公共属性中可用。