【问题标题】:ASP.NET ReportViewer local mode performance (expression_host regeneration)ASP.NET ReportViewer 本地模式性能(expression_host 重新生成)
【发布时间】:2009-06-17 15:57:43
【问题描述】:

我有一个简单的 ASP.NET Web 表单,其中包含多个在本地模式下运行的 ReportViewer 控件。每次页面加载时,每个 ReportViewer 都会加载报表定义并重新生成动态 expression_host 程序集。这显然很耗时,并且不会很好地扩展。有没有办法让 ReportViewer 缓存报表定义和动态 expression_host 程序集?

【问题讨论】:

    标签: asp.net reportviewer


    【解决方案1】:

    问题是在报表查看器对象上调用重置。您需要缓存报表查看器。

    如果您使用对象作为数据源,请在 report.localreport.dataset 上调用 Clear。

    【讨论】:

    • 不调用重置;缓存将是有问题的,因为数据源实例将在每个用户(以及跨用户)的页面生命周期之间发生变化。清除数据集没有效果,与问题无关。最有效的解决方案是从报告本身中删除任何代码,以避免在每个新页面请求时动态重新编译。
    【解决方案2】:

    在尝试了多种方法后,目前解决此问题的最佳方法是从报告本身中删除所有代码。这样做之后,请求时间大大减少了。

    【讨论】:

    • 您能否详细说明“删除所有代码”?这是自定义 C#/VB 代码还是表达式?
    猜你喜欢
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多