我使用此c#代码从SharePoint 2010网站和SQL Server Reporting Services 2012打开报告。
if (!IsPostBack)
{
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("https://site.com/_vti_bin/reportserver");
ReportViewer1.ServerReport.ReportPath = "https://site.com/sites/ssrs/Reports/Report1.rdl";
ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ShowCredentialPrompts = false;
IReportServerCredentials irsc = new ReportViewerCredentials("user", "pass", "domain");
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
ReportViewer1.ServerReport.Refresh();
}
我可以从SharePoint网站打开报告,但是当我尝试使用ASP.Net页面中的上述代码打开它们时,它们会超时。代码工作正常,因为我已成功打开测试服务器场的报告。在我的生产农场,我得到的信息是: “底层连接已关闭:连接意外关闭。”
有趣的是报告开了两次(两天),当我试图打开其他报告时,它就像以前一样失败了。这种情况发生在我重新启动IIS时,但它不会再发生。
我拥有服务器和SharePoint场的所有权限。该报告只是一个页面上有一行,它甚至没有数据源。