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

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

9 Answers 514 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
James
Top achievements
Rank 1
James asked on 02 Dec 2013, 03:54 PM
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. 


9 Answers, 1 is accepted

Sort by
0
Stef
Telerik team
answered on 05 Dec 2013, 02:56 PM
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.

0
illya
Top achievements
Rank 1
answered on 24 Dec 2013, 08:26 AM
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>
0
Stef
Telerik team
answered on 24 Dec 2013, 01:38 PM
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.

0
illya
Top achievements
Rank 1
answered on 26 Dec 2013, 12:04 PM
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
0
Stef
Telerik team
answered on 26 Dec 2013, 12:25 PM
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.

0
John
Top achievements
Rank 1
answered on 09 May 2014, 05:31 PM
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.
0
Stef
Telerik team
answered on 14 May 2014, 10:58 AM
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.

 
0
Josue
Top achievements
Rank 1
answered on 06 Jul 2016, 05:29 PM

Hi,

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

0
Katia
Telerik team
answered on 07 Jul 2016, 02:22 PM
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
Tags
General Discussions
Asked by
James
Top achievements
Rank 1
Answers by
Stef
Telerik team
illya
Top achievements
Rank 1
John
Top achievements
Rank 1
Josue
Top achievements
Rank 1
Katia
Telerik team
Share this question
or