Проблема просмотра отчетов после перехода на новый сервер - PullRequest
4 голосов
/ 17 сентября 2009

Я только что переместил сайт с сервера Windows 2003, IIS6 SQL 2005 на новый с Windows 2008, IIS7 и SQL 2008.

У меня проблемы с программой просмотра отчетов. Я установил распространяемый Report Viewer (пробовал 2005, 2005sp, 2008 и 2008sp) Я сопоставил обработчик в IIS для

Reserved.ReportViewerWebControl.axd

для ввода

Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Версия = 8.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a

Однако, когда я запускаю отчет на веб-сайте, я получаю следующее сообщение об ошибке:

Не удалось загрузить тип «Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler» из сборки «Microsoft.ReportViewer.WebForms, версия = 9.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a». Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.TypeLoadException: не удалось загрузить тип 'Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler' из сборки 'Microsoft.ReportViewer.WebForms, версия = 9.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50aa .

Я в тупике. Есть идеи?

Ответы [ 6 ]

1 голос
/ 12 декабря 2012

Также стоит попробовать это, если какие-то другие предложения здесь не работают -

http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/0152bb52-988d-43f5-9c3d-8d33512f46de/

"При переходе на IIS 7 возник ряд проблем. Требовалась значительная отладка.

РАЗРЕШЕНО ПЕРВЫЙ ВОПРОС: Права доступа к каталогу для приложения IIS 7 Идентификатор пула (по умолчанию было Network Service) необходимо добавить так чтобы пул приложений IIS мог иметь доступ к физическому пути каталога сайта.

ВТОРОЙ ВОПРОС РЕШЕНО: Необходимо добавить строку в ASP.Net файл приложения web.config. Ребенок после

Добавлено:

РАЗРЕШЕНА ТРЕТЬЯ НОМЕР Пул приложений по умолчанию при установке имеет .Net Framework 2.0 по умолчанию. Это было хорошо. Настройка пула приложений по умолчанию для управляемого режима конвейера необходимо изменить с «Интегрированный» (по умолчанию) на «Классический», это было быстрое решение, чтобы сохранить мое приложение работающим как это было на IIS 6. "

Исправлено изменение режима управляемого конвейера на «классический».

1 голос
/ 08 февраля 2010

Если вы работаете под IIS 7, стоит проверить, что у обработчика также есть разрешение на выполнение.

После настройки я увидел, что обработчик просто выдавал исключение 500, при ближайшем рассмотрении кажется, что просто добавить обработчик в список недостаточно. Вы также должны отредактировать его разрешение, потому что по умолчанию его нельзя запускать. Поставив галочку, чтобы она выполнилась, я сразу же решил мою проблему.

1 голос
/ 18 сентября 2009

Вы должны убедиться, что этот параметр должен быть на вашем живом сервере. Web.config

<compilation debug="true">
<assemblies>
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</buildProviders>

 <httpHandlers>
 <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
1 голос
/ 17 сентября 2009

Я думаю, вам нужно сопоставить версию 9.0.0.0, а не 8.0.0.0

0 голосов
/ 03 июня 2013

Просто включите CommanClassLibrary.dll в папку Bin вашего проекта и убедитесь, что на странице aspx и в файле конфигурации ваша версия ReportViewer Web Control должна быть такой же

0 голосов
/ 28 января 2010

Похоже, что эта проблема уже давно решена, но для тех, кто ищет:

Обратите внимание на сборку, на которую ссылается ошибка:

Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler

Это должно быть просто Microsoft.Reporting.WebForms.HttpHandler - то, как мы оба оказались в нашем web.config, является подозрительным, но может иметь какое-то отношение к созданию обработчика вручную в IIS и разрешению IIS написать ключ обработчика для web.config приложения (теперь, конечно, я не могу его воспроизвести).

Для тех, кто переходит на IIS7, имейте в виду, что отображение обработчика теперь находится в <system.webServer> <handlers>, а не <system.web> <httpHandlers>, как это было в более ранних версиях. IIS7 будет игнорировать старый раздел httpHandlers, но вы, возможно, проверяете настройки там по привычке и расстраиваетесь, что ваши настройки не вступают в силу.

...