Отчет в новом домене
Пользуясь http://www.fast-report.com/en/forum/index.php?showtopic=6727
Создал новый домен, создал в нем экземпляр, но при выгрузке закрывыется все приложение. Как выгрузить из памяти отчет?
Код
Создал новый домен, создал в нем экземпляр, но при выгрузке закрывыется все приложение. Как выгрузить из памяти отчет?
Код
private void ExecuteEditReportCommand()
{
if (appDomain == null)
{
AppDomainSetup appDomainSetup = new AppDomainSetup();
appDomainSetup.ShadowCopyFiles = "false";
appDomainSetup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;
appDomain = AppDomain.CreateDomain("ReportDomain", null, appDomainSetup);
}
countDomainUse++;
worker wrk =
appDomain.CreateInstanceAndUnwrap(Assembly.GetEntryAssembly().FullName, typeof(worker).FullName) as
worker;
wrk.print();
if (countDomainUse > 10)
{
AppDomain.Unload(appDomain);
appDomain = null;
countDomainUse = 0;
}
GC.Collect();
}
public class worker : MarshalByRefObject
{
public void print()
{
using (Report report = new Report())
using (DataSet ds = new DataSet())
{
report.RegisterData(ds,"ds");
report.Design();
}
}
}