Memory Leak
Posted: Thu Jun 11, 2020 12:17 am
Hello, we are having a potential Memory Leak Issue with stimulsoft rendering on Windows Server
This is our code:
The Assembly "DLL" is a variable object, it can repeat or change on each render
The "DS" string is a XML Data file, also variable on each render
The RAM keeps growing about 200MB every 1000 render cicles until server RAM is full and the application crashes.
We have been very careful to dispose objects and implement "using" statements, but the RAM is out of control
Any thoughts?.. are we doing something wrong here?
Thanks
Francesco
This is our code:
Code: Select all
string DS = Convert.FromBase64String("some long base64 here...");
Assembly DLL = Assembly.Load(Convert.FromBase64String("some long base64 here...."));
using (StiReport report = StiReport.GetReportFromAssembly(DLL))
{
report.Dictionary.Resources["DS"].Content = DS;
report.Render(false);
using (MemoryStream Output = new MemoryStream())
{
var settings = new Stimulsoft.Report.Export.StiPdfExportSettings();
settings.UserAccessPrivileges = StiUserAccessPrivileges.PrintDocument;
settings.ImageQuality = 0.8F;
settings.ImageResolution = 300;
report.ExportDocument(StiExportFormat.Pdf, Output, settings);
DLL = null;
report.Dispose();
string O = Convert.ToBase64String(Output.ToArray());
Output.Dispose();
return O;
}
}
The "DS" string is a XML Data file, also variable on each render
The RAM keeps growing about 200MB every 1000 render cicles until server RAM is full and the application crashes.
We have been very careful to dispose objects and implement "using" statements, but the RAM is out of control
Any thoughts?.. are we doing something wrong here?
Thanks
Francesco