首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在大型网络搜索中使用MaxRequestLength

在大型网络搜索中使用MaxRequestLength
EN

Stack Overflow用户
提问于 2009-09-24 19:31:46
回答 5查看 372关注 0票数 1

我有一个应用程序,其中包含引用300,000个客户的数据。当用户进行搜索时,结果通常比我们的MaxRequestlength所允许的要大,我们通过两种方法来处理这个问题:我们将MaxRequestLength增加到102400 (KB),并要求用户提供两个名字字母和两个姓氏字母,以限制返回的客户记录的绝对数量。这可以防止我们超过MaxRequestLength限制。

我想知道有没有人知道这是不是一种特别好的方法,MaxRequestLength可能或应该有多大的限制,以及在这种情况下有哪些其他选择可能有用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-09-24 19:37:48

我见过的大多数web应用程序都通过返回分页列表来处理这个问题,并且只显示结果的第一页。

在使用ORM的现代实现中,"Skip“和"Take”运算符用于仅检索给定页面所需的那些记录。

因此,任何给定的请求都不会超过一个页面上的记录数。

票数 5
EN

Stack Overflow用户

发布于 2009-09-24 19:37:34

我建议对结果进行分页,而不是显示所有内容。我还建议添加多个搜索域,允许用户进一步过滤他们的结果。这将允许您的用户更快地找到他们正在查找的内容。

票数 2
EN

Stack Overflow用户

发布于 2009-09-24 19:55:34

正如您可以从我的评论中猜到的那样,我认为MaxRequestLength只限制了请求的大小(->从客户端/浏览器发送到服务器的数据量)。

如果你超过了这个限制,那么这可能意味着你有一个巨大的ViewState,它会随每个响应一起发送。ViewState存储在页面上的一个隐藏字段中,并随每个PostBack一起发送回服务器(这就是MaxRequestLength设置可以发挥作用的地方)。您可以通过在web浏览器中查看页面的源代码并查找名称为"__VIEWSTATE“和大型字符串值的隐藏输入元素来轻松地检查这一点。

如果是这种情况,您应该尝试减小ViewState的大小,例如

在您的控件(GridView或其他任何控件)上设置为“false”,并在每个服务器上重新绑定控件(这是推荐的approach)

  • storing side

  • compressing PostBack ViewState on ViewState= ViewState
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1473726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档