ActiveReports.Aspnetcore 16 使用UseCustomStore后资源释放问题
ActiveReports.Aspnetcore 16项目比较特殊,需要动态生成报表,使用的是UseCustomStore中生成Report,请问如何释放report对象呢?或者有其他的方法实现功能?
app.UseReporting(settings =>
{
settings.UseCustomStore(str =>
{
var report = new PageReport();
............
return report;
}
});
问题描述:
自定义报表资源释放
问题解决:
您好,这个写法没有问题,这个report对象会被我们返回给前端。这个资源我们内部会在请求结束后将他指向为空,然后在.Net的GC工作时,会将资源释放。
如果您想主动释放资源,您可以在合适的时候执行:
GC.Collect();
GC.WaitForPendingFinalizers();他也会让GC工作,然后做资源回收
本帖最后由 gonna2022 于 2023-11-9 17:08 编辑
Felix.Li 发表于 2023-11-9 15:02
问题描述:
自定义报表资源释放
感谢回复
指向为空意思是调用dispose吗?
有这个疑问主要是在分析内存占用时看到很多报表的字体缓存字典,不知道是不是跟资源释放有关系
这个应该不用您调用,这个对象在不用时,我们内部会释放,当然,本身报表也是会有缓存的。比如报表生成的一些资源,类似报表画的图表啊,会有一些svg的这些资源,都会被暂时缓存起来,不会每次请求都重新画,这些释放报表内部会做,而我上面说的,其实是主动执行GC。GC执行的时候,自然会把那些我们置空,也就是dispose后,但是没有释放的回收掉 Felix.Li 发表于 2023-11-9 18:47
这个应该不用您调用,这个对象在不用时,我们内部会释放,当然,本身报表也是会有缓存的。比如报表生成的一 ...
明白了
非常感谢讲解 gonna2022 发表于 2023-11-10 09:40
明白了
非常感谢讲解
不客气,那本帖就先结贴啦,有问题您另开新帖哦`
页:
[1]