报告已在报告管理器中部署和运行并进行验证。
我的应用程序是一个 MVC2 应用程序,我的报告在它自己的 aspx 页面上。此页面与报表查看器控件的版本 8 一起使用,但我们移至新服务器,升级了 sql server,并尝试更新我们的网站以匹配。
服务器是带有 IIS 7.5 的 Windows Server 2008。
我正在测试 chrome 和 IE 9。
尽管我尽了最大努力,但我仍然收到此错误:
报告查看器配置错误
报告查看器 Web 控制 HTTP 处理程序尚未在应用程序的 web.config 文件中注册。添加
<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
到 web.config 文件的 system.web/httpHandlers 部分,或添加<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
到 Internet Information Services 7 或更高版本的 system.webServer/handlers 部分。
但是,我已经这样做了。事实上,我什至从MSDN读到了这个:
要在集成模式下使用 IIS 7.0,您必须删除 system.web/httpHandlers 中的 HTTP 处理程序。否则,IIS 将不会运行应用程序,而是会显示一条错误消息。
为了安全起见,我在直接将处理程序添加到 IIS 时尝试了两者的组合,只是在我的配置中添加了 Web 服务器 http 处理程序,只是在我的配置中添加了 http 处理程序,以及两者。
让我们从我的 web.config 开始
<configuration
<system.web>
<httpRuntime maxQueryStringLength="4096" />
<compilation targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</buildProviders>
</compilation>
</system.web>
<system.webServer>
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
</system.webServer>
</configuration>
我有程序集、构建提供程序和处理程序。还有什么可能是错的?