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

Problem with FileCache in HTML5 ReportViewer in multiple Application Pools

3 Answers 85 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Fabian
Top achievements
Rank 1
Fabian asked on 27 Dec 2014, 01:14 PM
Hello

i run multiple Applicationpools on one Server. In every pool the same binaries are installed (Different environments: Test, Demo, ect.).
If i use the HTML5 reportviewer with filecache i get some troubles when running the pools at the same time. If i start one pool and run a report there everything is fine. If i start a second pool and run the report there i get the errormessage:
"Internal Server Error:
An error has occurred.
Access to the Path "8.2.14.1204_ClientsCacheLock" is denied."

I use the MVC HTML5 Viewer. In the service i create the cache like this:
protected override Telerik.Reporting.Cache.Interfaces.ICache CreateCache()
{
            return Telerik.Reporting.Services.Engine.CacheFactory.CreateFileCache( HttpContext.Current.Server.MapPath("/Cache") );
        }
 }

The applicationpool has enough rights to write into this folder.

What do i miss?

best regards
Fabian

3 Answers, 1 is accepted

Sort by
0
Stef
Telerik team
answered on 29 Dec 2014, 10:17 AM
Hello Fabian,

If the Reporting REST service will be hosted on multiple instances, you need to use the IStorage CreateStorage method instead of the ICache CreateCache method of the service - REST Service storage. If the service will be hosted separately, and will use a different domain you may need to enable CORS to allow the communication between the clients(viewers) and the service.

Let us know if you need any further help.

Regards,
Stef
Telerik
 

Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

 
0
Dan
Top achievements
Rank 1
answered on 18 Sep 2018, 04:50 PM

I had this exact problem, and based on the answer to this post I updated our application to override the CreateStorage method instead of the CreateCache method, however the issue remains the same. Here is the code I am using:

        protected override IStorage CreateStorage()
        {
            var cxnString = ConfigurationManager.ConnectionStrings["Reports"].ConnectionString;
            var sss = new Telerik.Reporting.Cache.MsSqlServerStorage(cxnString);
            return sss;
        }

 

And of course I have run the script to create the database objects. I have tested in development and it works fine, however when I deploy to multiple applications (each having their own app pool) it does not work.

0
Silviya
Telerik team
answered on 21 Sep 2018, 11:29 AM
Hi Dan,

Please check this forum thread https://www.telerik.com/forums/access-to-clientscachelock-is-denied#vqwzOkEurUm4Ck7fRWaIWA which elaborate on both approaches for configuring the Reporting REST service's cache.

In case the issue still persist, open new support ticket and send us the problematic project for further investigation.

Regards,
Silviya
Progress Telerik
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
Fabian
Top achievements
Rank 1
Answers by
Stef
Telerik team
Dan
Top achievements
Rank 1
Silviya
Telerik team
Share this question
or