ReportViewer 10.0 на IIS 7.5 не отображается - PullRequest
4 голосов
/ 11 апреля 2011

Мы пытаемся переместить наши отчеты с Visual 2008 на Visual 2010, но мы не способны заставить работать элемент управления ASP.NET ReportViewer на наших машинах IIS 7.5.Операционная система - Windows 7.

Мы переместили все наши ссылки на Microsoft.Reporting.WebForms 10.0 в коде и в файлах конфигурации.Наш файл Web.config состоит из следующих разделов, касающихся ReportViewer:

  <system.web>
    <httpHandlers>
      <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
        validate="false" />
    </httpHandlers>
    <hostingEnvironment shutdownTimeout="30" shadowCopyBinAssemblies="false" />
    <compilation debug="true" targetFramework="4.0">
      <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" />
        <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        <add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
      </assemblies>
      <buildProviders>
        <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
       </buildProviders>
    </compilation>
    <authentication mode="Windows" />
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" />
    <httpRuntime requestValidationMode="2.0" />
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <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" />
      <add verb="GET" name ="CrystalImageHandler" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
    </handlers>
    <security>
      <requestFiltering>
        <requestLimits  maxAllowedContentLength="4294967295" />
      </requestFiltering>
    </security>
  </system.webServer>

При загрузке aspx, который содержит элемент управления ReportViewer, мы видим только панель инструментов средства просмотра отчетов, а остальная часть страницы пуста.Исходный код этой страницы сообщает следующее:

Обработчик HTTP веб-элемента управления Report Viewer не зарегистрирован в файле web.config приложения.Добавьте в раздел system.web / httpHandlers файла web.config или в раздел system.webServer / handlers для информационных служб Интернета 7 или более поздней версии.

Мы знаем, что ReportViewer 10.0 не поддерживаетработать в классическом режиме и поэтому пул приложений настроен для интеграции.Мы попытались удалить раздел дескрипторов из system.web, но безуспешно.

Кто-нибудь может подсказать, как получить рабочую конфигурацию приложения ASP.NET с Report Viewer 10.0 поверх IIS 7.5?

Большое спасибо заранее.

Хосе Антонио Арроба

Ответы [ 3 ]

3 голосов
/ 26 мая 2012

У нас была похожая проблема при перемещении нашей веб-страницы с IIS6.0 на IIS7.5, из-за которой нам пришлось перенести наши httpH и andlers, чтобы увидеть пример кода ниже

<defaultDocument>

  <files>
    <add value="home.aspx" />
  </files>

</defaultDocument>

<modules>
  <add name="AccessDeniedModule" type="Senate.Leagis.Web.Common.Handlers.AccessDeniedModule, Senate.Leagis.Web, Culture=neutral, PublicKeyToken=132b49799d170825" />
</modules>

<handlers>
  <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

1 голос
/ 23 августа 2011

Сегодня утром возникла та же проблема.Похоже, ваши обработчики web.config в порядке.Подсказка: если вам нужно знать, что они не в порядке, попробуйте просмотр с хромом.Он показывал мне сообщения об ошибках, которых не было в IE.В любом случае, я решил свою проблему, добавив HTTP-обработчик в свой IIS7.5. В диспетчере IIS перейдите в раздел Отображения обработчиков и зарегистрируйте обработчик.Путь запроса: Reserved.ReportViewerWebControl.axd , Введите , выберите правильную версию , нажмите Ограничения запроса и укажите «Один из следующих глаголов» как GET, HEAD, POST,DEBUG Вы можете найти заключительную часть здесь полезной

0 голосов
/ 08 июля 2014

Попробуйте добавить

<configuration>
<system.webServer>
<handlers>    
<add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler" resourceType="Unspecified" />
.......

в web.config

Источник

...