0

我开发了需要 ReportViewer 功能的 ASP.NET 应用程序。我的网站在 localhost 上运行良好。我的共享主机提供商要求我将 ReportViewer 版本从 11 升级到 12,我这样做了,它在本地主机上运行良好。但是在共享主机空间上,我遇到以下错误: ReportViewer 配置错误

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

我的 Web.Config 文件

<configuration>
  <system.web>
    <customErrors mode="Off"/>
    <httpHandlers>
      <!--<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=000000000000" validate="false"/>-->
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000" validate="false"/>   

      </httpHandlers>
    <compilation targetFramework="4.5">
      <assemblies>
        <add assembly="Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>
        <add assembly="Microsoft.ReportViewer.ProcessingObjectModel, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>
        <add assembly="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>

      </assemblies>
      <buildProviders>
        <!--<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>-->
      <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>
      </buildProviders>
    </compilation>
    <httpRuntime targetFramework="4.5"/>
    <!--<sessionState timeout="1" />-->
    <authentication mode="Forms">
      <forms loginUrl="login.aspx" timeout="40" slidingExpiration="true"/>
    </authentication>
    <!--<sessionState timeout="20"></sessionState>-->
  </system.web>
  <!--<authentication mode="Forms">
      <forms loginUrl="CompanyMaster.aspx" />
    </authentication>-->

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
      <!--<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=000000000000"/>-->
    <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=000000000000"/>
    </handlers>
    <!--<defaultDocument>
    <files>
      <clear />
      <add value="Login.aspx" />
    </files>
  </defaultDocument>-->
  </system.webServer>
  <appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
  </appSettings>
</configuration>

我还在 BIN 文件夹中添加了所有 3 个 DLL 文件

谁能指导我哪里错了?

提前致谢

4

1 回答 1

0

问题终于解决了!

我将 IIS 应用程序池从 Integrated 更改为Classic。它现在工作得很好!

于 2017-09-20T14:37:43.337 回答