报告查看器 Web 控制 HTTP 处理程序未在应用程序的 web.config 文件中注册

Posted

技术标签:

【中文标题】报告查看器 Web 控制 HTTP 处理程序未在应用程序的 web.config 文件中注册【英文标题】:The Report Viewer Web Control HTTP Handler not registered in the application's web.config file 【发布时间】:2017-08-05 12:34:37 【问题描述】:

错误:

报告查看器 Web 控制 HTTP 处理程序尚未注册 在应用程序的 web.config 文件中。 添加 到 web.config 文件的 system.web/httpHandlers 部分,或添加 Internet Information Services 7 或更高版本的 system.webServer/handlers 部分。

网络配置文件:

<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <httpHandlers>
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
    </httpHandlers>
</system.web>
<system.webServer>
    <modules>
      <remove name="FormsAuthentication" />
    </modules>
   <validation validateIntegratedModeConfiguration="false" />
   <handlers>
    <remove name="ReportViewerWebControlHandler"/>
      <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </handlers>
</system.webServer>

配置条目确实存在,但仍然抛出错误。

【问题讨论】:

【参考方案1】:

只需在 web.config 中添加此代码 您应该确保您的 Microsoft.Reporting.WebForms 版本 (Version=12.0.0.0)

找到这个部分

system.webServer 验证 validateIntegratedModeConfiguration="false" / 处理程序 添加名称="ReportViewerWebControlHandler" preCondition="integratedMode" 动词="" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms,版本=12.0.0.0,文化=中性, PublicKeyToken=89845dcd8080cc91" /* /处理程序 /system.webServer

system.web 编译调试="true" 组件 添加 assembly="Microsoft.Build.Framework, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" / 添加 assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" / 添加 assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" / 添加 assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" / 添加 assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" / 添加 assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" / 添加 assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" / 添加 assembly="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" / /组件

【讨论】:

以上是关于报告查看器 Web 控制 HTTP 处理程序未在应用程序的 web.config 文件中注册的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter 中的记录控制器未在 localhost Web 服务器中记录

通过 HTTP 创建但未在 SDK 或查看器中列出的 Google Dataproc 集群

提交按钮未在 ASP.NET MVC Web 应用程序中触发

报告查看器控件(Web)显示空白报告

报表查看器无法访问其他数据库服务器中的报表

在没有报告查看器的情况下将 s-s-rS 报告嵌入网页