我们在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网站上运行的报表进行排序时,排序不会超时。
答案 0 :(得分:2)
看起来我们已经融入了这一个。我们实现了IReportServerConnection2 1 因为我们没有使用会话状态,我们想要控制用于连接到Reporting Service的凭据。在该接口实现中,我们有一个不寻常的默认值2000毫秒。因此,在使用交互式排序进行的往返中,它使用的是默认值而不是在初始ReportViewer创建时设置的值。显然,在IReportServerConnection2的实现中提高了Timeout的值,修复了它。