Отчеты развернуты и работают, проверены в диспетчере отчетов.
Мое приложение - это приложение MVC2 с моим отчетом на собственной странице aspx. Эта страница работала с версией 8 средства просмотра отчетов, но мы перешли на новые серверы, обновили сервер sql и пытаемся обновить наш веб-сайт, чтобы он соответствовал.
Серверы - это Windows Server 2008 с IIS 7.5.
Я тестирую как хром, так и IE 9.
Несмотря на все мои усилия, я все равно получаю эту ошибку:
Ошибка конфигурации просмотра отчетов
Обработчик HTTP веб-контроля Report Viewer не зарегистрирован в файл приложения 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" />
в system.web/httpHandlers раздел файла web.config или добавьте<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" />
в system.webServer/обработчики раздел для информационных служб Интернета 7 или новее.
Но я уже это сделал. на самом деле, я даже читал это из MSDN:
Чтобы использовать IIS 7.0 в интегрированном режиме, вы должны удалить обработчик HTTP в файле system.web/httpHandlers. В противном случае IIS не запустит приложение, но отобразит сообщение об ошибке.
Чтобы быть в безопасности, я попробовал комбо ни при одновременном добавлении обработчика в IIS, а только в обработчике 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>
У меня есть сборки, поставщик сборки и обработчик. Что еще может быть неправильным?