レポートがデプロイされ、機能しており、Report Manager で検証されています。
私のアプリケーションは、レポートが独自の aspx ページにある MVC2 アプリです。このページはバージョン 8 のレポート ビューアー コントロールで動作しましたが、新しいサーバーに移動し、SQL サーバーをアップグレードし、それに合わせて Web サイトを更新しようとしています。
サーバーは、IIS 7.5 を搭載した Windows Server 2008 です。
Chrome と IE 9 の両方でテストしています。
私の最善の努力にもかかわらず、私はまだこのエラーが発生します:
レポート ビューアーの構成エラー
レポート ビューアー Web コントロール HTTP ハンドラーがアプリケーションの web.config ファイルに登録されていません。
<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" />
インターネット インフォメーション サービス 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>
アセンブリ、ビルド プロバイダー、およびハンドラーがあります。他に何が間違っている可能性がありますか?