This is a migrated thread and some comments may be shown as answers.

Rendering Exception (HTML5)

3 Answers 139 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Kevin F
Top achievements
Rank 1
Kevin F asked on 28 Apr 2017, 07:13 PM

I'm not sure where else to put this.  My users (usually using IE 10/11) have random issues when trying to view a report.  Sometimes they come up fine and sometimes they don't.  I've seen some similar issues related to the report cache but I can't figure it out.  One thing I did notice is that the site is HTTPS but the reportviewer request URL is http.

Here are the exception details:

Message: Object reference not set to an instance of an object.
Source: Telerik.Reporting
Stack Trace:    at Telerik.Reporting.Html5Rendering.Writers.Html.ImageWriter.SaveImageInStreamCore(IImageContainer imageContainer)
   at Telerik.Reporting.Html5Rendering.Writers.Html.ImageWriter.WritePredefinedImage(IImageContainer imageContainer)
   at Telerik.Reporting.Html5Rendering.Writers.Html.Checkbox.WriteImage(CheckBox checkBox, PictureContainerPageInfo picPageInfo)
   at Telerik.Reporting.Html5Rendering.Writers.Html.Checkbox.Begin(LayoutElement element, ElementPageInfo pageInfo)
   at Telerik.Reporting.Html5Rendering.Writers.Report.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
   at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.StartElement(LayoutElement element, ElementPageInfo info)
   at Telerik.Reporting.Paging.PageStartElement.AddToPage(IPageHandler handler)
   at Telerik.Reporting.Paging.PageElementLayer.AddToPage(IPageHandler handler)
   at Telerik.Reporting.Paging.PageElementManager.AddToPage(IPageHandler handler)
   at Telerik.Reporting.Paging.PageCompositionBase.AddElementsToPage()
   at Telerik.Reporting.Paging.PageCompositionBase.SendPhysicalPages()
   at Telerik.Reporting.Paging.PageCompositionBase.OutputPage()
   at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
   at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
   at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
   at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.Reporting.Processing.ReportProcessor.RenderCore(String format, IList`1 reports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
   at Telerik.ReportViewer.WebForms.ReportPageOperation.RenderReport(String format, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext)
   at Telerik.ReportViewer.WebForms.ReportRenderOperation.PerformOperationOverride()
   at Telerik.ReportViewer.WebForms.ReportPageOperation.PerformOperationOverride()
   at Telerik.ReportViewer.WebForms.HandlerOperation.PerformOperation(HttpContext context, ICacheManager cacheManager)
   at Telerik.ReportViewer.WebForms.BasicHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Target Site: System.String SaveImageInStreamCore(Telerik.Reporting.Processing.Imaging.IImageContainer)
Request Details:
URL: http://*url hidden*/Telerik.ReportViewer.axd?instanceID=1d087466ed0a454683886958922f347e&optype=Report&PageIndex=0&RenderID=41047800a01c4dbe9a8772d18de201ce&RenderingFormat=HTML5Interactive

3 Answers, 1 is accepted

Sort by
0
Stef
Telerik team
answered on 02 May 2017, 12:10 PM
Hi Kevin,

Based on the stack trace, you are using the old ASP.NET WebForms ReportViewer. It uses the ASP.NET Session Cache and  Session to preserve the state of the report between requests. Please check if you are modifying the Session in code until the viewer displays content. Also reports must be built with the settings from Design Considerations for Out-proc Session State (the session state mode should be configured based on the hosting).

In case the project is recently upgraded, please use the latest R1 2017 SP2 v11.0.17.406 - Installing Telerik Reporting. Also verify that reports are built with consideration of Changes on items in report events are not applied.


If you need further help, please open a support ticket and send us a demo project that illustrates the settings. Include also details how to reproduce the issue and which versions of Telerik Reporting are tested.

Regards,
Stef
Telerik by Progress
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Kevin F
Top achievements
Rank 1
answered on 02 May 2017, 09:05 PM

Thank you Stef.  The reports in this project were built 4+ years ago as well as the webforms pages displaying them.  I'm currently using SQL state for the reports but if moving to HTML5 viewer removes that need I will gladly do it.

I did find some instances in the reports themselves where report items were being referenced directly in the NeedDataSource event.  I'll hunt those down and fix them, and hopefully I'll stop seeing the error referenced.

Thank you again for your help!  I'll check back in when I get the changes made.

Kevin

0
Stef
Telerik team
answered on 04 May 2017, 01:07 PM
Hi Kevin,

The HTML5 Viewer displays content that is produced by a running Telerik Reporting REST Service instance. The service uses file, database or Redis cache storage -  REST Service Storage, and it does not rely on the ASP.NET Session.
Still you will have to keep the session state settings if the web application uses the ASP.NET Session elsewhere.

Please do not hesitate to contact us if you need further help.

Regards,
Stef
Telerik by Progress
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Tags
General Discussions
Asked by
Kevin F
Top achievements
Rank 1
Answers by
Stef
Telerik team
Kevin F
Top achievements
Rank 1
Share this question
or