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

Browser back button and "Report is unavailable or session has expired"

9 Answers 210 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Travis
Top achievements
Rank 1
Travis asked on 05 May 2011, 06:05 PM
Whenever a user clicks the back button in their browser they see this error in the RepotViewer control.  If they refresh the page as instructed, then the report will load.  Is there anyway to avoid this, or is this the intended behavior? 

9 Answers, 1 is accepted

Sort by
0
Squall
Top achievements
Rank 1
answered on 06 May 2011, 12:36 PM
Hi,
Why your users use the browsers back/forward buttons instead of the report viewers' back/forward buttons to navigate in report history?
SN
0
Travis
Top achievements
Rank 1
answered on 09 May 2011, 03:35 PM
The report's back/forward buttons get reset whenever there is a postback on the page.  This happens when the user changes a filter option. 
0
Peter
Telerik team
answered on 12 May 2011, 04:42 PM
Hi Travis,

We are not sure we have correctly understood your inquiry. Thus we will appreciate if you elaborate in details your scenario and send us a sample application through the support system to analyze locally.

Regards,
Peter
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
Travis
Top achievements
Rank 1
answered on 12 May 2011, 04:47 PM
When a user clicks on a filter option, I am refreshing the report viewer control, i.e. assigning a different report to the viewer and then refreshing it.  This erases the viewer's navigation history which makes sense I guess.  The problem occurs when you hit the browser back button after refreshing the viewer's report.  That is when I get this error.
0
GISWebDev
Top achievements
Rank 2
answered on 14 May 2011, 06:59 AM
Travis,

I'm going to take a shot at this...  is your application running in a cloud environment/server farm/with the load being shared?

I have an app on the cloud running reports.  I 'think' I'm having this same issue in that the page request may be handled by different caches (ie. server load is divided into different processes.  Each process has it's own cache, therefore it needs to be stored in the session instead.  I'm looking at the server environment and whether to use the out of process sessionstate to solve this issue.

Maybe Telerik can comment on this similar issue?


Best,
Todd
0
Travis
Top achievements
Rank 1
answered on 16 May 2011, 03:13 PM
No cloud, farm or load balance.  Single server environment.  I will attach a project sample when I have time.
0
Dyana
Top achievements
Rank 1
answered on 21 Sep 2011, 04:50 PM
I think I have the same issue occuring, as it seems this thread may not have been concluded, I'll post it here.

Situation:
A page has a report viewer on it.
The report has some actions set up, where if you click on the text, you are redirected to the same url with the addition of some query string parameters, in order to view some related information, which is held in a different report.

If the user clicks the url, is redirected, then clicks the browser back button,
This is displayed in the report viewer (if there is no error page set up)
Report is unavailable or session has expired.

the error in the error log is:
System.ArgumentOutOfRangeException
:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Telerik.ReportViewer.WebForms.ReportPageOperation.WriteHtmlPage(StreamManager streamManager, Int32 pageIndex)
   at Telerik.ReportViewer.WebForms.ReportPageOperation.PerformOperationOverride()
   at Telerik.ReportViewer.WebForms.BasicHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
0
Steve
Telerik team
answered on 22 Sep 2011, 09:00 AM
Hello Dyana,

This is a recently found issue that comes from the latest performance optimizations we have made to the viewer as some of its parts were completely rewritten. It will be fixed for the upcoming service pack next week. Until then you can use one of the following workarounds:

  • assign the Report property of the viewer each time there is a post back from the page.
  • switch to an out-proc Session state mode - either SQLServer or StateServer.
We apologize for the temporary inconvenience.

All the best,
Steve
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

0
Dyana
Top achievements
Rank 1
answered on 22 Sep 2011, 09:12 AM
Thanks for the response.

I'll take a look at the temp solutions.

Dyana
Tags
General Discussions
Asked by
Travis
Top achievements
Rank 1
Answers by
Squall
Top achievements
Rank 1
Travis
Top achievements
Rank 1
Peter
Telerik team
GISWebDev
Top achievements
Rank 2
Dyana
Top achievements
Rank 1
Steve
Telerik team
Share this question
or