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