Страница 1 из 2

Пропадает отчёт

Добавлено: 15 окт 2007, 06:13
viq
Имеется веб-проект, в нем используются веб-отчёты. Через некторое время работы(или кол-во запусков генерации отчётов) точно не понятно, отчёты генерируются абсолютно пустыми, т.е. отображаеся только панель управления StiWebViewer. Ни какой ошибки не возникает, просто вместо отчёта пустота.
Помогает только перезапуси IIS. И снова отчёты какое-то время работают - нормально генерятся, а потом снова пустота.

Что это может быть?

Пропадает отчёт

Добавлено: 15 окт 2007, 06:51
Edward
Подскажите, пожалуйста, какую версию .Net и Windows Вы используете.

Спасибо.

Пропадает отчёт

Добавлено: 15 окт 2007, 06:59
viq
Компоненты релиз от 04.09
Windows Server 2003 Enterprise SP2

На ХП у меня при разработки такое то же бывало. Но щас не получается смоделировать. А на сервере щас очень часто происходит

Пропадает отчёт

Добавлено: 15 окт 2007, 15:16
Pavel
Было бы неплохо, если бы вы прислали тестовое приложение на support@stimulsoft.com. Мы бы его потестировали, может проблема быстро выявится. А без тестового приложения, выявить ошибку достаточно проблематично, ведь дело может быть в данных, а может в настройках вашего IIS, или еще в чем-то.

Кстати, если вы скачаете последий билд и потестируете на нем, мы вам будем очень признательны, т.к. прошло больше месяца, мы внесли много исправлений, и, если ошибка проявится, ее надо быстрее найти и пофиксить.

Спасибо.

Пропадает отчёт

Добавлено: 31 окт 2007, 08:55
viq
Скачал билд от 10.10 на тот момент он был последний. С ним та же история. Но я выловил момент когда это происходит
Если Физическая память занята полность или почти полностью примерно 90% и больше. То отчеты не генерятся. Стоит очистить память, отчёт не сразы но через некоторое время опять нормально генерятся и это без перезаписка ИИС и самого приложения, только манипуляции с памятью
Может это поможет выявить проблему

Пропадает отчёт

Добавлено: 31 окт 2007, 12:56
Pavel
А вы попробуйте использовать свойство "Report Cash Mode", может проблема исчезнет.
Также приведите, пожалуйста, пример вашего кода, который генерирует отчеты, а также расположение кода в проекте.

Спасибо.

Пропадает отчёт

Добавлено: 01 ноя 2007, 01:58
viq
У меня в проекте исполузуется больше 10-ка отчётов, все генерятся однотипно, везде используется режим RenderMode="UseCache". Если отчёты пропадают, то пропадают все и расположенные на разных страницах, потом когда снова начинают генерится, то опять же верно работают все

StiWebViewer расположен следующим образом:

...










Код генерирующий отчёт:

protected void btLoad1_Click(object sender, EventArgs e)
{
pr.ResetCurrentPage();
pr.Report = new Stimulsoft.Report.StiReport();
pr.Report.Load(Server.MapPath("~/opr/reports/rpr1.mrt"));
((Stimulsoft.Report.Dictionary.StiSqlDatabase)pr.Report.Dictionary.Databases["CN"]).ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CN"].ConnectionString;
pr.Report.Compile();
if (lUfns1.SelectedValue != "")
pr.Report.CompiledReport.DataSources["DS"].Parameters["@DID"].ParameterValue = lUfns1.SelectedValue;
else
pr.Report.CompiledReport.DataSources["DS"].Parameters["@DID"].ParameterValue = 0;
pr.Report.Render();
}

Пропадает отчёт

Добавлено: 02 ноя 2007, 12:29
Pavel
Во-первых, при использовании режима RenderMode = "UseCache", отчеты при компиляции сохраняются в отдельный каталог. При достижении определенного предела, происходит очистка каталога.

Во-вторых, если вы используете этот режим вы можете немного оптимизировать ваш код, используя конструкцию:

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

string compiledReportFile = "NameOfReport.dll";
if (!File.Exists(compiledReportFile))
{
  stiReport = new StiReport();
  ...
  stiReport.Compile(compiledReportFile);
}
else
{
  stiReport = StiReport.GetReportFromAssembly(compiledReportFile, true);
  ...
}
Спасибо.

Пропадает отчёт

Добавлено: 03 ноя 2007, 12:38
viq
Насчёт оптимизации спасибо, применю обязательно.

А насчёт этого:
Во-первых, при использовании режима RenderMode = "UseCache", отчеты при компиляции сохраняются в отдельный каталог. При достижении определенного предела, происходит очистка каталога.
А в какой каталог сохраняются? интересно понаблюдать что там происходит.

Пропадает отчёт

Добавлено: 06 ноя 2007, 10:52
Pavel
Вы можете сами установить путь к этому каталогу:

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

StiOptions.Engine.ReportCache.CachePath = "Путь к каталогу"
Спасибо.