c# - ASP.NET:处理超大报告的策略

标签 c# asp.net asp.net-mvc reporting

也许不是特定于报告,但仍然......

在我的 asp.net mvc web 应用程序中,有一个报告部分显示了 5 列数据,这些数据几乎直接映射到数据库中的一个表。

问题是,在某些情况下,该报告的长度可能会超过 40,000 条记录(我知道,没有人能够真正处理 40,000 条数据记录,但报告就是这样)并且如您所料,它会超时并抛出错误。

问题是,处理和交付这种规模的报告的好方法是什么?我考虑过创建一个小型控制台应用程序来在网络服务器之外构建报告,但我有点不知所措,不知道该往哪个方向看?

最佳答案

报告是否需要最新数据?如果没有,您可以考虑在晚上(或当您的服务器不忙时)将报告生成为 PDF,并只提供 PDF 的链接。按照您的建议运行控制台应用程序的计划任务可以创建报告并将其输出到文件中。许多报告工具(如 Crystal Reports)允许您将报告导出为 PDF 或 Excel 电子表格。就此而言,您可以在完全不同的机器上生成报告,然后将其复制到 Web 服务器。这可以让您每小时(或任何时间)更新一次报告,而不会给您的 Web 服务器增加这样的负载。

关于c# - ASP.NET:处理超大报告的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708380/

相关文章:

c# - Kendo MVC DropDownListFor 不会将所选值绑定(bind)到模型

c# - "CS1026: ) expected"

c# - 预期对模拟调用一次,但为 0 次 未执行任何调用

asp.net-mvc - 如何使用 Ninject 注入(inject) Identity 类?

c# - MySql 查询 - 选择位置、别名和参数

c# - 将文件复制到不同的目录

c# - 如何在 ASP.NET MVC 中处理同一窗体上的编辑和删除按钮?

c# - 如何将值传递给 asp 后面的代码?

.net - ASP.NET 服务器控件和 <%$ %> 参数,如 ConnectionStrings

asp.net-mvc - Azure ASP.NET MVC Web.Config 部署问题