Problem with FileCache in HTML5 ReportViewer in multiple Application Pools

4 posts, 0 answers
  1. Fabian
    Fabian avatar
    3 posts
    Member since:
    Oct 2012

    Posted 27 Dec 2014 Link to this post

    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

  2. Stef
    Admin
    Stef avatar
    3610 posts

    Posted 29 Dec 2014 Link to this post

    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.

     
  3. Dan
    Dan avatar
    2 posts
    Member since:
    Apr 2014

    Posted 18 Sep 2018 Link to this post

    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.

  4. Silviya
    Admin
    Silviya avatar
    414 posts

    Posted 21 Sep 2018 Link to this post

    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
Back to Top