我有一个包含ReportViewer控件的Web表单,一个DIV元素,所以我可以看到该页面实际呈现。我看到我的页面正确加载,我看到在Fiddler中访问的报表服务,但是从来没有任何显示。
目前,我正在使用一个静态文本的报告,没有查询,以确保我隔离问题。
我的页面如下:
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="PeopleNet.Web.Views.Reports.ReportViewer" %>
- <%@ Register Assembly="Microsoft.ReportViewer.WebForms,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91"
- Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <asp:ScriptManager ID="ScriptManager1" runat="server">
- <Scripts>
- <asp:ScriptReference Path="~/scripts/jquery-1.7.2.js" />
- <asp:ScriptReference Path="~/scripts/fixReportViewer.js" />
- </Scripts>
- </asp:ScriptManager>
- <div>
- This is the report viewer page...
- </div>
- <rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
- </form>
- </body>
- </html>
- protected void Page_Load(object sender,EventArgs e)
- {
- this.ReportViewer1.ServerReport.ReportServerUrl = ConfigurationFacade.ReportServerUri;
- this.ReportViewer1.ServerReport.ReportPath = { path to report name };
- this.ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials(); // custom class implementing IReportServerCredentials as described in varIoUs places around the web,including SO
- this.ReportViewer1.ServerReport.Refresh();
- }
我的web.config文件根据需要配置HttpHandler:
- <system.web>
- <!-- abbreviated... -->
- <httpHandlers>
- <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler,Microsoft.ReportViewer.WebForms,PublicKeyToken=89845dcd8080cc91" validate="false" />
- </httpHandlers>
- </system.web>
和:
- <system.webServer>
- <!-- abbreviated... -->
- <handlers>
- <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler,PublicKeyToken=89845dcd8080cc91" />
- </handlers>
- </system.webServer>
服务器运行Windows 2008和sql Server 2008 R2。
我正在使用sql Server 2012版本的查看器,因为我们正在将我们的环境更新到2012。
我已经反复验证报告可以从ReportManager访问,没有任何问题。
我试图在IE9中访问这个,看到与其他浏览器一起说明的各种问题。
我目前(仅用于测试)传递我的凭据作为报表服务器凭据。我是Reporting Services管理员,也是服务器上的服务器管理员组成员。
我已经检查了事件日志和ReportServerService日志,并没有发现任何错误。
更新:看起来像将AsyncRendering更改为false,并确保我不尝试使用空集合“SetParameters”,这主要被清除:
- this.ReportViewer1.AsyncRendering = false;
我在配置/代码中缺少什么?