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

时间:2020-05-07 03:09:38

标签: c# sql asp.net datagrid aspxgridview

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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

相关问题