为什么会出现Sys.WebForms.PageRequestManagerServerErrorException:请求被中止:请求被取消了?

问题描述 投票:0回答:1

因此,我正在进行一次SQL查询,最多需要10分钟来检索大约2万个数据元素。这本身没有问题,因为我能够设置断点并查看检索到的信息并将其显示在DataGrid中,并且不会发生任何错误....显然。

但是,在显示的网站上,我看不到该DataGrid上的任何元素,当我进入开发人员工具的控制台时,看到了

Sys.WebForms.PageRequestManagerServerErrorException:Sys.WebForms.PageRequestManagerServerErrorException:请求被中止:请求被取消。

我一直在网上寻找有关此错误的响应,并且我发现这可能是咨询超时的原因,但是我能够在检索到数据后看到数据,因此看起来更像是一个问题DataGrid组件。有帮助吗?

c# sql asp.net datagrid aspxgridview
1个回答
0
投票

因此,我正在进行一次SQL查询,最多需要10分钟来检索大约2万个数据元素。本身没有问题

这本身就是一个问题。服务器可能会在0.5-5分钟后取消连接。而且从经验来看,这也是无用的大量数据。

没有人将能够以任何有意义的方式处理20000条记录。您必须应用进一步的过滤,然后才能向用户显示该过滤器。如果用户可以处理200个条目,那将是您检索的内容的1%。而且可能会少于-我猜大概是20。

从DB撤回大量信息,然后在代码中进行过滤是一个非常常见的初学者错误。 Thgat实际上只会浪费RAM,CPU周期和网络带宽,而这恰恰是DB服务器最擅长的东西。对于WebServer来说,情况更糟,因为它实际上没有可用的内存或CPU周期。

在查询本身中进行尽可能多的过滤,排序,分页甚至处理。

© www.soinside.com 2019 - 2024. All rights reserved.