Как увеличить скорость?

Обсуждение Stimulsoft Reports.NET
Ответить
Sergey Martynov
Сообщения: 2
Зарегистрирован: 12 июн 2006, 07:30

Как увеличить скорость?

Сообщение Sergey Martynov »

Уважаемые разработчики!

Подскажите, есть ли возможность увеличить скорость построения отчета? Сейчас получаетсятак что каждый раз при запуске отчета он компилиируется. Есть возможность этого избежать?

Спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Как увеличить скорость?

Сообщение Vital »


Существует несколько вариантов увеличения скорости построения:

- сохранить отчет как класс и подключить этот класс к своему проекту. В этом случае отчет будет скомпилиирован вместе с Вашим проектом.
- сохранить отчет как сборку и в последющем грузить отчеты из сборки при помощи метода StiReport.GetReportFromAssembly.
- компилировать отчет только при первом запуске. При запуске отчета на выполнение проверяем если готовая сборка с отчетом, если есть то сразу грузим отчет из этой сборки методом StiReport.GetReportFromAssembly. Если нет, то компилируем отчет методом report.Compile("report.dll") и строим дальше. В следующий раз у нас уже будет готовый отчет в dll.

Sergey Martynov
Сообщения: 2
Зарегистрирован: 12 июн 2006, 07:30

Как увеличить скорость?

Сообщение Sergey Martynov »


А можно по последнему варианту привести какой нибудь вариант кода :shame: ?
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Как увеличить скорость?

Сообщение Edward »

Код: Выделить всё

string reportName = "MyReport.mrt";
string reportDllName = "MyReport.dll";

StiReport report = null;

// если сборки отчета нет на диске
if (!File.Exists(reportDllName))
{
  // загружаем отчет из файла
  report = new StiReport();
  report.Load(reportName);
  // компилиляция и сохранение отчета в dll
  report.Compile(reportDllName);
 }
else  // если сборка отчета доступна
{
// … используем её
  report = StiReport.GetReportFromAssembly(reportDllName);
}
report.Show();
 
Ответить