Current filter:
                                You should refresh the page.
                                  • Hi,

                                    I have a question related to report object disposition.
                                    I am using WebdocumentViewer to genertae reports, i noticed that when we create some large reports, server memory increases. But that memory is not getting released after closing that report page.
                                    I want to know, is there any best place we can dispose report manually, so that we can release memory after load complete.
                                    I know, that the report object is kept on cache or somewhere, so that the export and other functions may work.
                                    Please suggest me the best way, so that i can manage server memory while using reports.


                                1 Solution

                                Creation Date Importance Sort by

                                Hello Kumud,
                                Thank you for contacting us. Simply put, each time a page in the Web Document Viewer is loaded in the browser, the report creation process starts in a background thread. Once a document is ready, it is getting placed into in-memory storage to make the report document available for further requests sent by the viewer (for example, for printing/exporting). This cache is stored on the web server for 2 hours. So, after you refresh your web page, the viewer creates a new instance of the document and puts it into the cache. The previous document is not cleared from the cache because the viewer cannot determine that the previous session already ended.
                                To reduce memory usage in this situation, I suggest that you call the client-side ASPxClientWebDocumentViewer.Close method when a web page is being closed (e.g., in the window's onbeforeunload event handler). For instance:

                                <script type="text/javascript"> function WebDocumentViewer_Init(s, e) { window.onbeforeunload = function (evt) { s.Close(); } } </script> @Html.DevExpress().WebDocumentViewer(settings => { settings.Name = "WebDocumentViewer"; settings.ClientSideEvents.Init = "WebDocumentViewer_Init"; }).Bind(...).GetHtml()

                                As a result, the closed document's data will be cleared from the web server.

                                Additionally, I would like to note that starting with version 18.1, we provide the CachedReportSource component designed to improve the performance and memory handling while working with large reports. Check the Reporting - Document Generation Performance Improvements (v18.1) blog post for more information regarding this. You can try using this component in your application to reduce memory consumption.

                                I look forward to your reply.

                                • kumud pandey 08.27.2019

                                  I tried to use CachedReportSourceWeb .All reports working fine , just got a weired issue with exportToExcel,
                                  For some columns(mostly int data type), it fills the value with ##### instead of integer value.
                                  It happens, when we have more than one report open up in tabs, and export them one by one
                                  So i had to stop using it 

                                • Jannet (DevExpress Support) 08.28.2019


                                  I've created a separate ticket on your behalf (T810208: Export To Excel - Integer values substituted with #####). It has been placed in our processing queue and will be answered shortly.