ReportViewer控制超时排序

时间:2009-11-23 17:22:05

标签: reportviewer ssrs-2008

我们在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 Report Manager网站上运行的报表进行排序时,排序不会超时。

1 个答案:

答案 0 :(得分:2)

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