报表已部署并正常工作,在报表管理器中进行了验证。
我的应用程序是一个MVC2应用程序,报表位于其自己的aspx页面上。这个页面在报表查看器控件的8版中运行良好,但我们移动到新服务器,升级了SQL Server,并尝试更新我们的网站以匹配。
服务器是带有IIS 7.5的Windows Server 2008。
我正在Chrome和IE 9中进行测试。
尽管我尽了最大的努力,仍然会出现以下错误:
报表查看器配置错误
应用程序的Web.config文件中未注册报表查看器Web控件HTTP处理程序。将
<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>
我有程序集、生成提供程序和处理程序。还可能出了什么问题?