==========================================================================================================
1. My Question:
yes, I have an emergency issue about rendering report as pdf in windows service. Total number of rows: 60k.
When I try 60k rows, it gives me "Running out of memory" issue. But there is no such issue show up when
I try to render 20k rows.
.
==========================================================================================================
My Code:
var reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();
var deviceInfo = new System.Collections.Hashtable();
Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report; // please assume that I set 60 k rows in var of report.
Telerik.Reporting.Processing.RenderingResult result = reportProcessor.RenderReport(
"PDF", instanceReportSource, deviceInfo);
if (!System.IO.Directory.Exists(this.reportServerInfo.TempExportPath))
{
var pathInfo = System.IO.Directory.CreateDirectory(this.reportServerInfo.TempExportPath);
}
string filePath = System.IO.Path.Combine(this.reportServerInfo.TempExportPath, fileName);
using (System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
========================================================================================================
Error Track:
ERROR 2013-05-24 12:56:16,106 [41] System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at Telerik.Reporting.Processing.TextBox.Telerik.Reporting.Processing.ILayoutElementContainer.get_Children()
at Telerik.Reporting.Paging.TextBox.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.Group.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.Group.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.Group.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.Report.CreateContent(InitializationContext initContext)
at Telerik.Reporting.Paging.PagingElementBase.Init(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.ElementFactory.CreateElement(LayoutElement source, PagingElementBase parent, IComposition composition, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreateElement(LayoutElement source, PagingElementBase parent, InitializationContext initContext)
at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, Report report)
at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
at Telerik.Reporting.Processing.ReportProcessor.CountPages(IList`1 reports, IRenderingContext renderingContext, Hashtable deviceInfo, ExtensionInfo extensionInfo, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 reports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRender(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.ProcessAndRenderStateless(String format, ReportSource reportSource, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
at Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, ReportSource reportSource, Hashtable deviceInfo)