2

从过去几天开始,我一直在尝试在我的应用程序中运行 Report Viewer,但失败了。问题是当我添加

<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" />

我的 web.config HTTP 错误 500.19 - 我尝试访问的每个页面上的内部服务器错误中的这个处理程序。

如果我将其删除,那么它可以正常工作,但错误出现在我的报告页面上

报告查看器配置错误

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

<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> 

到 web.config 文件的 system.web/httpHandlers 部分,或添加

<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" />

Internet Information Services 7 或更高版本的 system.webServer/handlers 部分。

请帮我解决这个问题

我的整个 web.config

<?xml version="1.0" encoding="utf-8"?>

<configuration>
  <connectionStrings>
 <add name="courierdbConnectionString" connectionString="Data Source=.\MSSQLSERVER2014;Initial Catalog=ushupk_courier;User ID= ushupk_ushupk;Password=Fahad123!@#" providerName="System.Data.SqlClient" />

  </connectionStrings>
  <system.web>
    <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>
    <sessionState timeout="5400" />
    <compilation targetFramework="4.5">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
        <add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91" />
        <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
      </assemblies>
      <buildProviders>
        <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
      </buildProviders>
    </compilation>
    <httpRuntime targetFramework="4.5" />
    <customErrors mode="Off" />
      </system.web>
      <system.webServer>
      <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>
      <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=89845dcd8080cc91" />-->
    </handlers>
      </system.webServer>
      <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
        <assemblyIdentity name="Microsoft.SqlServer.Types" publicKeyToken="89845dcd8080cc91" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-14.0.0.0" newVersion="14.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
      </runtime>
    </configuration>
4

1 回答 1

-1

好吧,我无法提供答案,因为我遇到了同样的问题 - 我正在使用 Microsoft.ReportViewer.WebForms 将一些 SSRS 报告集成到现有 webforms 应用程序的新网页中。在调试模式下本地运行时,这些更改运行良好,但是当我部署到 VDEV 框以准备再次升级到系统测试环境时,我在 web.config 中为 httphandler 添加了内容,这导致了 500 内部服务器错误。当我将该行注释掉或从 web.config 中删除时,该应用程序再次运行(但不是新的 SSRS 报告功能)。我怀疑我在 web.config 文件的某个地方有问题,因为我们组织中的其他开发人员已经成功实施了类似的解决方案,但没有看到我看到的问题。我们在 ReportViewer 的 V 12 上。

于 2017-06-23T19:48:11.480 回答