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

Report is unavailable or session has expired

11 Answers 694 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Mattias
Top achievements
Rank 1
Mattias asked on 02 Mar 2010, 12:34 PM
Hi,
I'm getting the "classic" error message: Report is unavailable or session has expired.
I have read your faq:
http://www.telerik.com/support/kb/reporting/report-viewers/report-is-unavailable-or-session-has-expired-error-message.aspx
where you list "Problem" and "Solution".
First:
I don't agree that you list the solution, you just describes three possible causes, not how to solve them! :)

Second:
I'm curious, why the need of sessions? Why keep, as you say in the faq, resources as images and html pages in sessions?
How often do you load the same report twice so you need to locally store the information?

Third (the real question :) ):
We have a website on one domain and from there links to another domain (on a different server) where the reports are generated.
So the problem is obvious, I surf on the website and maybe generates a report. Then I surf a little more on the website and after a while I want to generate another report. What happens? The report domain has of course timed out.

How can I solve this problem?

(We load the reports in a RadWindow if that could be something the causes the error)

Regards,
Mattias




11 Answers, 1 is accepted

Sort by
0
Chavdar
Telerik team
answered on 05 Mar 2010, 11:03 AM
Hi Mattias,

According to your description of the problem, it seems that you are falling into to the first case of the described problems which is an expired session. As with all such cases (not only Telerik Reporting specific) you have to either refresh the page or increase the asp.net session's timeout. Another approach to keep the Session alive is to place some kind of a Timer Control which will make periodic request to the server and thus reset the Session's expiration time.

Up to your second question - the Session is used for storing images because they cannot be embedded directly in the html markup and each image is loaded with a second request to the server from the report's html page - this is just how the browsers work. The Session also allows the report's http handler to stream correctly the images when web farm configuration is used. The caching of pages is to allow fast navigation with the navigation buttons and again the session is used because of the web farm support. And the third reason for using the Session is that it allows to separate the report processing from the report viewer's rendering. If you have noticed the viewer is rendered first and then the report processing starts (generating report loading image is shown at that time).

I hope you will find this information useful. Let me know if you have any other questions.

Greetings,
Chavdar
the Telerik team

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 Public Issue Tracking system and vote to affect the priority of the items.
0
Mattias
Top achievements
Rank 1
answered on 20 Apr 2010, 07:59 AM
Hi Chavdar,
I do still have problems with session expiration.
To use some sort of timer isn't safe enough. We have our web sites in a shared hosted solution so the web server could recycle at any time. So a timer wouldn't help.

I don't understand how the reporting works internally but there must some kind of alternative to sessions?!
Sessions are bad if you ask me (most because of shared hosting) and have caused us so much problems through the years.
I stream images many times in .net environments like Image.aspx?Path=/Images/image.gif or use a handler. Couldn't you do something like the same?
And to have web farm support is good (I guess) for those who needs it but couldn't you build in a switch for it? UseWebfarm=true/false

Regards,
Mattias
0
Chavdar
Telerik team
answered on 20 Apr 2010, 06:14 PM
Hi Mattias,

At this moment we do not plan to move away from using the asp.net session and implement another approach. I am sorry for the inconvenience. Still, we will consider your request in our future plans.

Best wishes,
Chavdar
the Telerik team

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 Public Issue Tracking system and vote to affect the priority of the items.
0
Jakkie Esschert van den
Top achievements
Rank 1
answered on 28 Jun 2011, 09:50 AM
I'd like to second the request to get rid of the ASP dependancy. I'm trying to use Silverlight with WCF and currently I'm forced to setup ASP.NET compatibility and session management just to be able to use Telerik Reporting.
0
Fandy Backers
Top achievements
Rank 2
answered on 28 May 2013, 01:28 PM
I have the same problem too. But I don't have any session expired.

What i did, i made a standalone web application, which uses parameters, like
http://somewebsite.com/reports.aspx?openreport=test_report

when i open that url in a browser, it opens in a reportviewer the report with parameters.
That is working well. But when i open the same url inside another web application inside a radwindow

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    <script type="text/javascript">
  
        function OpenReport() {
            var oWnd = radopen(url, 'reportWindow');
        }
  
    </script>
</telerik:RadCodeBlock>

I thought it should work like i think, i also get the same message "Session has expired" Please, refresh the page

The same link doesn't have any problems in a browser, but in the radwindow i get that message.

Why does it work stand alone in an app and not in a radwindow? 


Best regards,

Fandy Backers

0
Fandy Backers
Top achievements
Rank 2
answered on 28 May 2013, 02:48 PM
Here is some update information:

When i tested my solution with Google Chrome Browser, it worked well! But when i tested it in my default browser for developing (IE10).
I tested it also in IE9 and there it works also! by the way, when i enabled my browser compatibility mode, it also gave the same result "Session Expired", so, it is a IE10 issue i think.. or something like that..

For me, the users of the application uses IE9 or Google Chrome, so i can go on making super cool things with Telerik!

Maybe Telerik can check if there is an issue with Internet Explorer Version 10 and "Session Expired, please refresh"


best regards,

Fandy Backers
0
Unknown
Top achievements
Rank 1
answered on 31 May 2013, 09:20 AM
You can try using the X-UA-Compatible Meta Tag with IE=edge. You can find mor info here.
0
Kenneth
Top achievements
Rank 1
answered on 04 Feb 2016, 05:13 PM

Hi,

I'm currently having issues with the reporting tool I support. When I try to generate the report, it just immediately says "Session expired. Please refresh the page". Take note that the moment I clicked generate, it shows the error. Also, this happened before and it resolved itself. Any clues on why this is happening? Thanks!

0
Stef
Telerik team
answered on 09 Feb 2016, 09:35 AM
Hello Kenneth,

I suppose you are using the old ASP.NET WebForms ReportViewer control. In such case, please check the application's session state mode settings and verify the report covers the requirements for Design Considerations for Out-proc Session State.

More solutions are listed in the Report is unavailable or session has expired error message KB article.


I hope this information is helpful.

Regards,
Stef
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
0
Craig
Top achievements
Rank 1
answered on 28 Sep 2016, 03:31 AM
I am using the WinForms viewer and get the session expired error all the time, possibly due to mixing it with an MVC application. Will using a newer report viewer help with the problem? Does the HTML5 viewer use sessions?
0
Stef
Telerik team
answered on 28 Sep 2016, 11:49 AM
Hi Craig,

The HTML5 Viewer is a client-side widget that loads resources created on the server and delivered by the Reporting REST service. The Reporting REST service doe snot rely on the ASP.NET Session.

If you are using the old ASP.NET WebForms ReportViewer, the used session state mode is important for how reports are preserved between requests. It is recommended to switch to the HTML5 Viewer - Migrate to the HTML5 Viewer from the old ASP.NET WebForms ReportViewer control.



Once you have a project with the Reporting REST service (can be separate from the HTML5 Viewer's project), you can incorporate it with a WinForms ReportViewer as well - How To: Use Windows Forms Report Viewer with Report Server.

Regards,
Stef
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
Mattias
Top achievements
Rank 1
Answers by
Chavdar
Telerik team
Mattias
Top achievements
Rank 1
Jakkie Esschert van den
Top achievements
Rank 1
Fandy Backers
Top achievements
Rank 2
Unknown
Top achievements
Rank 1
Kenneth
Top achievements
Rank 1
Stef
Telerik team
Craig
Top achievements
Rank 1
Share this question
or