23
    The Report Viewer Web Control HTTP Handler has not been registered in the application's 
web.config file.  Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = 
"Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file

このエラーが発生しています。httpハンドラーでこの行についてすでに言及しましたが、それでもこのエラーが発生します

<add path="Reserved.ReportViewerWebControl.axd" verb="*"   type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0,    Culture=neutral, PublicKeyToken=0000000000000000" validate="false" />

私のhtmlページのマークアップは次のとおりです

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Button ID="btnsubmit" runat="server" OnClick="GenerateReportButton_Click" />
    <rsweb:ReportViewer ID="ReportViewer1" runat="server">
    </rsweb:ReportViewer>
</asp:Content>

Web 構成アセンブリ セクションは次のとおりです。

<assemblies>
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    <add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
4

12 に答える 12

11

私はまったく同じ問題を抱えていました。何が起こったのかというと、レポートの読み込みルーチンを Page_Load に置き、それを でラップしなかったことですif (!IsPostBack)。ReportViewer はページに POST を作成し、Page_Load をトリガーしてレポートをリロードし、何らかの形で混乱させました。すべてを中に入れた後if (!IsPostBack)、それは魅力のように機能しました。

于 2012-10-08T13:21:52.453 に答える
10

web.config登録されているハンドラーを確認してくださいReportViewer。このようにする必要があります

ハンドラ

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

また、のアセンブリセクションを確認してくださいweb.configReportViewer以下のようになります。

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

于 2012-09-19T05:15:39.490 に答える
7

アプリ プールを Integrated から Classic に変更すると、この問題も解消されました。

于 2013-12-11T16:18:09.547 に答える
1

過去2日間、私は同じ問題を抱えていました。これは元の質問に対する回答ではありません。同じ問題を抱えている人のための追加情報です。

私が問題を抱えていたアプリケーションは 2005 年に開発され、現在も開発中です。

そのため、VS 2005 から VS 2008、VS 2010、そして最近 VS 2013 に移植されました。これがエラーが発生したときのようです。.NET フレームワークが .NET 3.5 から .NET 4 に切り替わった間のどこかです。

.NET 4 では、レポート ビューアー *.dll がシステム ライブラリとして提供されると思います (確認していません)。とにかく、これは私のGACを私に示しました:

ここに画像の説明を入力

最初のバージョン 8 だけが手動でインストールされています (Reporting Viewer 2005 再頒布可能バイナリを使用)。

したがって、VS 2013 では、Resharper はバージョン 11 を考えており、web.config のこれらの行を自動的に変更します。

<httpHandlers>
  <!-- this is the correct one (if using Report Viewer 2005 / 8.0.0.0 -->
  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>

<httpHandlers>
  <!-- this is the wrong one inserted during the update (or maybe Resharper) -->

  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>

簡単に言えば、少なくとも私の場合、このエラーは、Visual Studioで使用されるライブラリとランタイムで使用されるライブラリとのバージョンの競合を示しているようです。Microsoft から提供されたエラーは、少し誤解を招くものです。

于 2015-05-04T16:26:30.143 に答える
0

次の行を追加しただけで、アプリ プールは何も変更していません。

<Add name = "Reserved-ReportViewerWebControl-axd" path = "Reserved.ReportViewerWebControl.axd" verb = "*" type = "Microsoft.Reporting.WebForms.HttpHandler" resourceType = "Unspecified" />
于 2016-11-07T14:02:29.720 に答える
0

IIS 7 以降の場合

  <system.webServer>
    <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>
于 2018-04-01T06:32:59.157 に答える