Getting Error Client with ID 'xxxxxx-xxxx' not found. Expired. Periodically when generating report using HTML5 Report Viewer

10 posts, 0 answers
  1. James
    James avatar
    2 posts
    Member since:
    Sep 2013

    Posted 02 Dec 2013 Link to this post

    I have recently switched from using the Web Forms report viewer to using the HTML5 Report Viewer for my .NET MVC4 application.  When I try to generate the report, it sometimes works, and sometimes gives the error:

    Client with ID 'xxxxxx-xxxx' not found. Expired.

    This seems to happen only when deployed on azure, on multiple instances.  I do however have shared cacheing set up which was working fine with the web forms report viewer.

    I am initializing the code with 
    @{
        var typeReportSource = new TypeReportSource() { TypeName = typeof(MyClass).AssemblyQualifiedName };
    }
    @(   
       Html.TelerikReporting().ReportViewer()
       .Id("reportViewer1")
       .ServiceUrl("/api/reports/")
       .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
       .ReportSource(typeReportSource)
       .ViewMode(ViewModes.INTERACTIVE)
       .ScaleMode(ScaleModes.SPECIFIC)
       .Scale(1.0)
       .PersistSession(true)
    )

    This happens much more frequently on windows Azure, however I have been able to get it to happen locally, however only by repeatedly spamming the refresh button.
    I have not been able to find any cases of anyone receiving this error so any light shinned upon this would be amazing. 


  2. Stef
    Admin
    Stef avatar
    3047 posts

    Posted 05 Dec 2013 Link to this post

    Hello James,

    Use Fiddler to check the actual reason for the error. double check if the report assembly qualified name is correct and you follow the Design Considerations for Out-proc Session State. Also test if using database cache provider or supplying permission to the folder specified for the file cache provider resolves the issue.

    In order to provide you more accurate suggestions, please open a support ticket and send us the Fiddler log file with saved all sessions during running the application. A sample project illustrating the issue or exact steps how to reproduce it will be helpful.

    Regards,
    Stef
    Telerik

    New HTML5/JS REPORT VIEWER with MOBILE AND TOUCH SUPPORT available in Telerik Reporting Q3 2013! Get the new Reporting version from your account or download a trial.

  3. DevCraft banner
  4. illya
    illya avatar
    5 posts
    Member since:
    Aug 2011

    Posted 24 Dec 2013 Link to this post

    Hello,

    I have absolutely the similar issue.
    In order to reproduce this issue you need to setup two or more insurances of your Web Role.   

    I do not want to use SessionState at all, I am following suggestion which I've got here in regards to HTML5 Report Viewer: 
    http://www.telerik.com/community/forums/reporting/telerik-reporting/windows-azure-reporting-session-state.aspx


    So, beatifically I have this simple code and when I have 2 instances of my web role it's display me "Getting Error Client with ID 'xxxxxx-xxxx' not found. Expired." ? Also I can not understand why my report displayed in the format as you can find in attachment, something with the styles or what? Please answer as soon as you can. Thanks!


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Telerik HTML5 Report Viewer</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

        <link href="http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />

        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <link href="/Content/kendo/2013.3.1119/kendo.common.min.css" rel="stylesheet" />
        <link href="/Content/kendo/2013.3.1119/kendo.blueopal.min.css" rel="stylesheet" />
        <script src="/Scripts/kendo/2013.3.1119/kendo.all.min.js"></script>
        <link href="/Content/ReportViewer/styles/ReportViewer-7.2.13.1016.css" rel="stylesheet" />
        <script src="/Scripts/ReportViewer/js/ReportViewer-7.2.13.1016.js"></script>

        <style>
            #reportViewer1 {
                position: absolute;
                left: 5px;
                right: 5px;
                top: 5px;
                bottom: 5px;

                font-family: 'segoe ui', 'ms sans serif';

                overflow: hidden;
            }
        </style>
    </head>
    <body>

        <div id="reportViewer1" class="k-widget">
       
        </div>

        <script type="text/javascript">
            $("#reportViewer1").telerik_ReportViewer({
                serviceUrl: "/api/reports/",
                templateUrl: '/Content/ReportViewer/templates/telerikReportViewerTemplate.html',
                reportSource: {
                    report: "Report1.trdx",
                    parameters: {
                        CultureID: "en"
                    }
                }

            });
        </script>

    </body>
    </html>
  5. Stef
    Admin
    Stef avatar
    3047 posts

    Posted 24 Dec 2013 Link to this post

    Hello Illya,

    Please take a look at the answer posted in your other forum thread on the same topic: Windows Azure, Reporting, Session State.

    About the "Getting Error Client with ID 'xxxxxx-xxxx' not found. Expired.", we have tested locally to host our MvcDemo into Azure and the issue is not reproducible. Please use Fiddler to inspect the requests made during running the application and get the full error message.

    If you need further help on any of the above, please elaborate how to reproduce the issue at our side and the observed exception at your side. Any additional details as the log file created with Fiddler will be helpful.

    We will appreciate it if we continue the discussion here, so we do not split information between threads. Feel free to open a support ticket and send us your details in it, including a reference to this forum discussion.

    Regards,
    Stef
    Telerik

    New HTML5/JS REPORT VIEWER with MOBILE AND TOUCH SUPPORT available in Telerik Reporting Q3 2013! Get the new Reporting version from your account or download a trial.

  6. illya
    illya avatar
    5 posts
    Member since:
    Aug 2011

    Posted 26 Dec 2013 Link to this post

    Hello Stef,

    I have found the reason of this issue, I have not specified file for caching (CacheFactory.CreateFileCache), so seems to me each instance was using own file and it was the cause of that issue.

    Could you explain little bit more about this caching, is it possible to avoid this caching?

    Regards,
    Illia
  7. Stef
    Admin
    Stef avatar
    3047 posts

    Posted 26 Dec 2013 Link to this post

    Hello Ilia,

    The cache mechanism used in the previously existing ReportViewer controls is mainly used for perfomance optimization, which implies you may skip setting it explicitly.

    The new HTML5 Report Viewer relies heavy on the cache. If you look at the API reference of the REST Report service you will see that the service client should execute a sequence of calls in order to retrieve documents. Between each call it is the cache that keeps the state of the document generation/retrieval for the current client.

    That said you cannot use the HTML5 Report Viewer without cache. You can use File or Database to store the cache information. In case you use File, assure the user has rights to access the cache files.

    Keep in mind that the cache instance used from the REST Report service is taken only from the method ReportControllerBase.CreateCache. The application configuration file settings are currently respected only for the other viewers.

    Regards,
    Stef
    Telerik

    New HTML5/JS REPORT VIEWER with MOBILE AND TOUCH SUPPORT available in Telerik Reporting Q3 2013! Get the new Reporting version from your account or download a trial.

  8. John
    John avatar
    41 posts
    Member since:
    Jun 2013

    Posted 09 May 2014 in reply to Stef Link to this post

    So, on Azure with 2 or more web roles, using the REST API and HTML viewer, do I have to enable database caching, as they don not share a file system? Also, I dont want to use ASP.NET session state, this is a pure MVC WebAPI app.
  9. Stef
    Admin
    Stef avatar
    3047 posts

    Posted 14 May 2014 Link to this post

    Hi John,

    Please refer to my post in you forum thread on the same question: Caching in Windows Azure with multiple Web Roles and REST API.

    In future, we kindly ask you to avoid posting the same question multiple times. If it is an emergency, you can use our support ticketing system, which guarantees you an answer from Telerik representative in a timely manner.

    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.

     
  10. Josue
    Josue avatar
    8 posts
    Member since:
    Jan 2016

    Posted 06 Jul Link to this post

    Hi,

    how do you solved this problem, i'm getting same error, help please

  11. Katia
    Admin
    Katia avatar
    307 posts

    Posted 07 Jul Link to this post

    Hello Josue,

    Check this post in another forum thread you open on the same question where we can continue our discussion.


    Regards,
    Katia
    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
Back to Top
DevCraft banner