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

Обсуждение Stimulsoft Reports.NET
viq
Сообщения: 56
Зарегистрирован: 06 апр 2007, 05:09

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

Сообщение viq »

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

Что это может быть?
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

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

Сообщение Edward »

Подскажите, пожалуйста, какую версию .Net и Windows Вы используете.

Спасибо.
viq
Сообщения: 56
Зарегистрирован: 06 апр 2007, 05:09

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

Сообщение viq »

Компоненты релиз от 04.09
Windows Server 2003 Enterprise SP2

На ХП у меня при разработки такое то же бывало. Но щас не получается смоделировать. А на сервере щас очень часто происходит
Pavel
Сообщения: 67
Зарегистрирован: 10 май 2007, 11:24

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

Сообщение Pavel »

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

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

Спасибо.
viq
Сообщения: 56
Зарегистрирован: 06 апр 2007, 05:09

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

Сообщение viq »

Скачал билд от 10.10 на тот момент он был последний. С ним та же история. Но я выловил момент когда это происходит
Если Физическая память занята полность или почти полностью примерно 90% и больше. То отчеты не генерятся. Стоит очистить память, отчёт не сразы но через некоторое время опять нормально генерятся и это без перезаписка ИИС и самого приложения, только манипуляции с памятью
Может это поможет выявить проблему
Pavel
Сообщения: 67
Зарегистрирован: 10 май 2007, 11:24

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

Сообщение Pavel »

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

Спасибо.
viq
Сообщения: 56
Зарегистрирован: 06 апр 2007, 05:09

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

Сообщение 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();
}
Pavel
Сообщения: 67
Зарегистрирован: 10 май 2007, 11:24

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

Сообщение Pavel »

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

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

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

string compiledReportFile = "NameOfReport.dll";
if (!File.Exists(compiledReportFile))
{
  stiReport = new StiReport();
  ...
  stiReport.Compile(compiledReportFile);
}
else
{
  stiReport = StiReport.GetReportFromAssembly(compiledReportFile, true);
  ...
}
Спасибо.
viq
Сообщения: 56
Зарегистрирован: 06 апр 2007, 05:09

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

Сообщение viq »

Насчёт оптимизации спасибо, применю обязательно.

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

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

Сообщение Pavel »

Вы можете сами установить путь к этому каталогу:

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

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