It is a Stimulsoft.Report.Render.StiPreviewControl.
I don't have the time to do a sample project right now, so I hope that the code examples I provided are sufficient to get to the roots of this issue.
Thank you.
memory leaks
memory leaks
Hello.
Maybe in your case it will be useful to use Application Domains. Here is our methods for creation and unloading:
You can change our code for your needs. But there is a loss of performance when using application domains.
Thank you.
Maybe in your case it will be useful to use Application Domains. Here is our methods for creation and unloading:
Code: Select all
#region AppDomain
internal AppDomain reportDomain = null;
public StiReport CreateReportInNewAppDomain()
{
AppDomainSetup appDomainSetup = new AppDomainSetup();
appDomainSetup.ShadowCopyFiles = "false";
appDomainSetup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;
AppDomain appDomain = AppDomain.CreateDomain(StiGuidUtils.NewGuid(), AppDomain.CurrentDomain.Evidence, appDomainSetup);
StiReport report = appDomain.CreateInstanceAndUnwrap(this.GetType().Assembly.FullName, this.GetType().FullName)
as StiReport;
reportDomain = appDomain;
report.LoadFromString(this.SaveToString());
foreach (StiData data in this.DataStore)
{
report.RegData(data.Name, data.Data);
report.DataStore[report.DataStore.Count - 1].ViewData = data.ViewData;
}
return report;
}
public void UnloadReportAppDomain()
{
if (reportDomain != null)
{
AppDomain.Unload(reportDomain);
reportDomain = null;
}
}
#endregion
Thank you.