【问题标题】:ReportViewer control timeout on sortReportViewer 控制排序超时
【发布时间】:2009-11-23 17:22:05
【问题描述】:

我们在 ASP.NET 页面上有 VS 2005 版本的 ReportViewer 控件。报告针对 SQL2008 报告服务执行并正确显示。我们对按预期工作的列进行了交互式排序......通常。

在较大的结果集(超过 100 页)上,排序停止,在查看器中显示白色背景,并带有“操作已超时”字样。具有讽刺意味的是,它在大约 3 秒内完成了这项工作。当我看到 ServerReport.Timeout 默认为 2000 毫秒时,我以为我已经做到了,但是将其更改为 30,000 毫秒并没有什么不同。就好像它甚至没有意愿尝试对那么多数据进行排序:) 这是代码:

        var rvMain = new ReportViewer {
            EnableViewState = true,
            ProcessingMode = ProcessingMode.Remote,
            ShowRefreshButton = false,
            AsyncRendering = true,
            ShowCredentialPrompts = false,
            ShowDocumentMapButton = true,
            DocumentMapCollapsed = true,
        };
        rvMain.ServerReport.DisplayName = displayName;
        rvMain.ServerReport.ReportPath = reportPath;
        rvMain.ServerReport.Timeout = 30000;

我查看了许多其他关于各种超时的帖子。但是,这仅在排序时发生,并且仅在大型结果集上发生。任何建议将不胜感激!

更新:对直接在 SQL 报告管理器网站中运行的报告进行排序时,排序不会超时。

【问题讨论】:

    标签: reportviewer ssrs-2008


    【解决方案1】:

    看起来我们已经进入了这个。我们实现了 IReportServerConnection21 因为我们没有使用会话状态,我们想要控制用于连接到报告服务的凭据。在那个接口实现中,我们有一个不寻常的默认值 2000 毫秒。因此,在交互式排序发生的往返行程中,它使用的是默认值,而不是在初始 ReportViewer 创建时设置的值。显然在 IReportServerConnection2 的实现中提高 Timeout 的值修复了它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多