场景: 我在我的Web应用程序中使用Telerik Report Viewer来显示大型报告(来自我的数据库的大约5000条记录,导致显示80页文档)。 一切都工作得很好......但在这可怕的一天,我的应用程序开始抛出“Out of Memory”异常。
我意识到Telerik Report正在缓存所有数据并且仅在很长一段时间(15分钟或更长时间)之后才释放它。 一个报告的缓存消耗至少300mb!
事情是......我想清空这个缓存的数据并释放我的记忆。 即使在使用以下代码清除缓存后,内存消耗仍然存在:
HttpRuntime.Close()
//or
foreach (DictionaryEntry item in HttpContext.Current.Cache) {
HttpContext.Current.Cache.Remove((string)item.Key);
}
任何想法? 提前谢谢。
答案 0 :(得分:0)
我发现防止此问题的快速而肮脏的方法是导出报告(pdf,rtf ...)而不是在页面上显示它。