Изображения Crystal Reports не отображаются в веб-браузере - PullRequest
4 голосов
/ 08 апреля 2009

У меня есть несколько Crystal Reports (V10) в приложении (.NET 1.1), которое я унаследовал и которое развернуто в четырех «идентичных» средах. В трех средах они работают нормально. В-четвертых, графика диаграммы не видна в веб-программе просмотра. Они видны, если вы экспортируете отчеты.

ИТ-специалисты клянутся, что все одинаково во всех четырех средах, и передали мне проблему, чтобы решить. Я не уверен, как мне это сделать, так как я не могу добраться до серверов, чтобы проверить что-либо для себя. Но я не понимаю, как это НЕ может быть проблемой окружающей среды.

Мне кажется, что Crystal имеет необходимые разрешения для записи файла и его извлечения для визуализации экспортных версий отчета, но ASP WP не может получить доступ к графическому файлу при визуализации страницы.

Спасибо за любые предложения, которые могут вам помочь!

РАЗРЕШЕНИЕ От ИТ-специалистов: «Нам пришлось изменить« Разрешения на выполнение »для папки CrystalReportsViewer10 в IIS с« Только сценарии »на« Сценарии и исполняемые файлы ». На всех других сайтах есть только« Только сценарии », и они в порядке. «

Ответы [ 5 ]

7 голосов
/ 02 февраля 2011

Я мог бы решить эту проблему в среде разработчика, добавив следующие ключи (обработчики) в web.config:

<system.webServer>
  <handlers>
    <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/>
  </handlers>
</system.webServer>


<system.web>
  <httpHandlers>
    <add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
  </httpHandlers>
</system.web>
3 голосов
/ 08 апреля 2009

Должен существовать виртуальный каталог IIS, называемый что-то вроде «CrystalReportViewers115». Я думаю, что точное имя меняется между версиями. Это должно быть видно вашему пользователю ASP.NET. Начните смотреть на среды, которые работают, и посмотрите, установлен ли у них этот виртуальный каталог, и сравните его с каталогом в отказавшей среде. В качестве еще одной проверки вы сможете ввести URL-адрес изображений в браузер и просмотреть их. Чтобы узнать URL, щелкните правой кнопкой мыши на картинке и выберите «Свойства». Например:
http://localhost/crystalreportviewers/images/toolbar/export.gif
Вы должны увидеть картинку при переходе непосредственно к URL.

2 голосов
/ 23 июля 2010

Перейдите в Пуск-> Программы-> Microsoft Visualstudio 2008-> Инструменты Visual Studio-> Командная строка Visual Studio 2008

и введите

aspnet_regiis -c


Это автоматически скопирует соответствующие файлы ...

1 голос
/ 04 июля 2012

Добавьте папку aspnet_client в исходную папку сайта. Пример:

C:\inetpub\wwwroot\myapplication\aspnet_client\system_web\4_0_30319\CrystalReportWebFormViewer4
0 голосов
/ 24 сентября 2014

Я недавно столкнулся с этой самой проблемой: хотя мое разрешение немного отличалось:

  • Я попытался установить обработчик в файле web.config, но это не помогло.
  • Я пытался установить скрипты и исполняемые файлы в IIS, но это не помогло.

Когда я зашел в папку C: \ Program Files \ Common Files \ Crystal Decisions \ 2.5 \ crystalreportviewers10 и отключил пользовательские ошибки, я увидел, что ошибка связана с проблемой отказа в доступе на C: \ Windows \ Temp \

Тогда было решено не обрабатывать или изменять IIS для запуска сценариев и исполняемых файлов, а разрешить сетевой службе разрешение на чтение в C: \ Windows \ Temp \

.

EDIT: Думаю, я нашел другое решение, которое не требует изменения разрешений ... просто установите виртуальный каталог для aspnet_client; уровень, на котором вы выбираете это, будет очень сильно зависеть от вашего макета IIS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...