【问题标题】:ASP.NET ReportViewer works in development, is empty when deployedASP.NET ReportViewer 在开发中工作,部署时为空
【发布时间】:2010-09-29 18:38:20
【问题描述】:

我有一个 ASP.NET Web 应用程序,它利用 ReportViewer 来显示本地报告。在我的开发机器(XP Pro、Visual Studio 2008)上,一切都运行良好。当我将应用程序部署到生产服务器(Windows Server 2008、IIS 7)时,该站点运行良好,但报表查看器除外。当我生成报告时,报告查看器仍然是空的。

我已经编写了调试代码来验证记录是从数据库中接收的,而且确实是。没有发生错误,但报表查看器中不显示任何记录。此外,通常出现在 ReportViewer 控件菜单栏中的图像(导出按钮、打印按钮、前进和后退按钮等)也不会加载。

我在服务器上运行 ReportViewer.exe 来安装相应的文件,并且我已经验证它们在机器的 GAC 中。

谁能建议一种调试方法...如果生成错误会更容易(我不敢相信我刚才这么说)?

【问题讨论】:

    标签: asp.net-3.5 reportviewer


    【解决方案1】:

    请确认您拥有所需的 web.config 条目。我怀疑您缺少 IIS7 中需要的 system.webServer/handlers 中的条目。 IIS7 几乎忽略了 system.web/httpHandlers 部分,这可以解释为什么它在 IIS 5.1 (XP) 中有效,但在 IIS 5.1 (XP) 中无效。

    版本号可能会有所不同,但这应该涵盖条目:

    在 system.web/compilation 部分:

      <buildProviders>
        <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </buildProviders>
    

    在 system.web/httpHandlers 部分

      <add path="Reserved.ReportViewerWebControl.axd"
           verb="*"
           type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
           validate="false" />
    

    在 system.webServer/handlers 部分:

      <add name="ReportViewer"
           path="Reserved.ReportViewerWebControl.axd"
           verb="*"
           type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
           preCondition="integratedMode" />
    

    【讨论】:

    • 您对 web.config 条目的看法完全正确。 system.webServer/handlers 部分中的条目丢失。我的开发机器使用 IIS 6,部署机器使用 IIS 7,它在配置文件的不同位置查找设置。感谢您快速、准确的回复。另外:发帖后发现这篇文章:blogs.msdn.com/b/webtopics/archive/2009/02/10/…
    • @kbrimington :我有同样的问题。在 Dev 和 Prod 服务器上,rdlc 报告工作正常,但报告中的所有图像都没有显示,它显示十字标记。通过右键单击十字标记并从属性中获取 url 并将其放入浏览器中显示图像。我已经做了上面给出的任何建议。我的开发有 IIS 7.5,我的产品有 IIS 8.5。你能指导我克服这个问题吗
    • @KumaranT,对我来说已经有一段时间了。不再支持本文中讨论的 SQL Server 版本,afaik。不过,我最好的猜测是您正面临身份验证问题。可能是报告依赖于需要身份验证的图片,但不使用用户的身份验证来检索它们。如果这不能解决您的问题,我建议您在 StackOverflow 上发布一个新问题。干杯!
    猜你喜欢
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    相关资源
    最近更新 更多