I have an issue with Telerik reporting.
I have set the caching to be on file. However, when generating large reports, the Cache folder keeps on recreating folder with all the cache items ( more than 10,000), and even if the report is closed on the browser, the cache folder keeps on being recreated every while.
Is there a way we can stop this or if we can stop caching ?
Hi Samer,
When you use FileStorage, our REST Service generates a structure of folders and files that keeps the state of each client/viewer that uses the service. Periodically, the assets get cleaned by the service. How long a client will be kept alive depends on the REST Service properties ClientSessionTimeout - see the article HTML5 Report Viewer and Reporting REST services.
Periodically (each 5 min), the Rest Service performs cleaning of the expired sessions. Note that in order for the service to clean the inactive sessions it has to be awakened by a request from an active client/viewer. Hence, all inactive sessions will be deleted after some time that is determined by the ClientSessionTimeout and the time intervals in which the inactive sessions get removed from the service, provided the service is awake.
If the service stops before the client sessions have been deleted (including before it has been awakened to delete them), the uncleaned sessions will remain in the Storage. The data will be useless, but it will not be removed as the REST Service has already stopped before there has been a request to awaken it and let it automatically clean the expired storage data. In such cases, you need to manually clean the storage. That said, you need to delete manually the folder C:\WINDOWS\Temp\Html5App each time the REST Service stops. This way, you will remove the leftovers and prevent the unnecessary increase of occupied storage. While the REST Service runs normally, it takes care of its expired assets and the cleaning happens automatically.
You may consider testing IStorage implementation suitable for deploying both on single instance application hosting and in Web Farms.
If you attach a Trace Listener to the REST Service application, it logs information on deleting the expired resources from the storage: