Отчеты Crystal в Windows Azure не отображаются - PullRequest
1 голос
/ 15 марта 2011

Я написал веб-приложение на VS2010 ASP.net C # для отображения отчетов Crystal.Я переместил это приложение в Azure Emulator.Это работало хорошо на местном уровне.Однако после его развертывания в Azure отчет Crystal не отображается и даже не выдается исключение.

Я установил

  1. Установил CRforVS_13_0.exe
  2. Затем установил CRRuntime_64bit_13_0 на мою машину последовательно.

Любой ввод из любого1будет полезноПожалуйста, дайте знать, если вам нужна дополнительная информация.

Спасибо, Тануджа

Ответы [ 5 ]

5 голосов
/ 07 января 2012

Вы определенно можете это сделать. Я сделал это сам и даже написал пошаговое сообщение в блоге о запуске Crystal Reports в Azure .

Он вращается вокруг создания задачи запуска для запуска установочного файла Crystal Reports в новых экземплярах веб-роли Azure. Есть много препятствий, которые я перечислил, так что попробуйте. работает

2 голосов
/ 02 августа 2012

Я только что столкнулся с той же проблемой, заставляя Crystal Reports 2010 (13.0.4) работать на Azure. Я последовал совету BritishDeveloper и некоторых других источников. Мой метод отличается лишь незначительно тем, что я использовал хранилище BLOB-объектов Azure для хранения среды выполнения Crystal, что делает публикацию проекта намного быстрее, чем при его включении в ваш проект.

Вот как я работал с отчетами о кристаллах:

1) Настройте новую службу хранения больших двоичных объектов в Портал Azure

2) Загрузить установщик Crystal в это хранилище BLOB-объектов

Использование бесплатного инструмента CloudXplorer загрузка CRRuntime_64bit_13_9_4.msi в контейнер с именем crystalinstaller (не забудьте разархивировать перед загрузкой).

3) В Visual Studio создайте определение сценария запуска в вашем проекте Azure ServiceDefinition.csdef:

<ServiceDefinition...>
  <WebRole...>
    <Startup>
      <Task commandLine="AzureStartUp.cmd" executionContext="elevated" taskType="background" />
    </Startup>
  </WebRole>
</ServiceDefinition>

4) Сохраните следующий сценарий запуска в корне вашего веб-проекта с «build action» none и «copy to output», установленным в всегда . Урок, извлеченный здесь: подход / ситероот не всегда на E: диск

@ECHO off
@REM Setting up Azure Stroage Credentials
set azurestoragename=<name>
set azurestoragekey=<key>
set storagecontainername=crystalinstaller

@REM Setting up Azure Drive 
@REM (sometimes E:, sometimes F: maybe one day G:?)
set drive=%cd:~0,3%

@REM Download Crystal Runtime 13.0.4
@REM from blob storage account
set filename=CRRuntime_64bit_13_0_4.msi
AzureBlobDownloader.exe "%azurestoragename%" "%azurestoragekey%" "%storagecontainername%" "%filename%"

@REM Install Crystal Runtime 13.0.4
msiexec.exe /I CRRuntime_64bit_13_0_4.msi /qn

@REM Copy Crystal Reports Viewer Files
robocopy D:\inetpub\wwwroot %drive%sitesroot\0 /S
robocopy D:\inetpub\wwwroot %drive%approot /S

5) Загрузите инструмент командной строки, который можно загрузить из хранилища BLOB-объектов, на службу Azure VM Я использовал packagedownloader.exe из Windows Azure Tomcat Solution , но, возможно, есть и другие, или вы можете легко свернуть свои собственные. Я переименовал это в AzureBlobDownloader.exe и скопировал вместе с включенным Microsoft.WindowsAzure.StorageClient.dll в корневой каталог моего веб-проекта с «действием сборки» none и «copy to output», установленным в всегда .

Если у вас все еще возникают проблемы, попробуйте подключить удаленный рабочий стол к своему экземпляру и использовать инструмент, подобный DebugView , чтобы отслеживать происходящее.

1 голос
/ 11 апреля 2011

Сначала создайте папку в вашем решении с именем, например, 'assets' Скопируйте CRRuntime_64bit_13_0.msi в эту папку. Затем поместите следующий код в ваш ServiceDefinition.csdef

<Startup> <Task executionContext="elevated" taskType="simple" commandLine="assets/CRRuntime_64bit_13_0.msi"></Task> </Startup>

Таким образом вы устанавливаете Crystal Runtime на облачный сервер перед загрузкой приложения.

Надеюсь, это работает для вас.

0 голосов
/ 23 октября 2012

Определенно возможно;мы размещаем SL-приложение в Azure с сервером отчетов, работающим на виртуальной машине Azure (все еще в бета-версии, у нас были некоторые проблемы с подключением, но мы довольно удовлетворены для бета-продукта)Сервер отчетов работает через службу Windows, и у нас есть установочный файл, который обрабатывает установку среды выполнения CR и нашего сервиса.Затем служба опрашивает нашу базу данных на предмет ожидающих запросов отчетов, а затем обрабатывает их по мере необходимости.

Мы запускаем все наши отчеты в формате PDF, поэтому пользователь просто загружает PDF.Если у вас возникли проблемы с отображением отчета напрямую, вы можете изучить эту альтернативу;это отлично сработало для нас.

0 голосов
/ 25 марта 2011

до сих пор не поддерживается в Azure.

...