Страница 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 = "Путь к каталогу"
Спасибо.