Leaving a report idle in report manager and acessing it again throws, System.Exception: The page has expired. To re-open it, you must access the original page.

When you leave the report open in report manager idle for some time and accessing it fails with the following error message: (Any operation that causes a Postback event can kickout this error)

w3wp!ui!6!11/19/2009-02:58:25:: e ERROR: The page has expired. To re-open it, you must access the original page.

w3wp!ui!6!11/19/2009-02:58:25:: e ERROR: HTTP status code --> 500

-------Details--------

System.Exception: The page has expired. To re-open it, you must access the original page.

at Microsoft.ReportingServices.UI.ReportingPage.ReportingPage_Load(Object sender, EventArgs e)

at System.Web.UI.Control.OnLoad(EventArgs e)

at System.Web.UI.Control.LoadRecursive()

at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

w3wp!ui!6!11/19/2009-02:58:25:: e ERROR: Exception in ShowErrorPage: System.Threading.ThreadAbortException: Thread was being aborted.

at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg) at at System.Threading.Thread.AbortInternal()

at System.Threading.Thread.Abort(Object stateInfo)

at System.Web.HttpResponse.End()

at Microsoft.ReportingServices.UI.ReportingPage.ShowErrorPage(String errMsg)

The most likely cause for this issue is the idle time exceeded the default PostbackTimeout of 60 mins which caused this error.

To resolve this issue (SSRS 2005) , Add the PostbackTimeout setting in the RsWebApplication.config file (Under Report Manager folder). It should look like this, (Please make sure that the below elements are case sensitive.)

<UI>

<ReportServerUrl></ReportServerUrl>

<ReportServerVirtualDirectory> </ReportServerVirtualDirectory>

<ReportBuilderTrustLevel>FullTrust</ReportBuilderTrustLevel>


<PostbackTimeout>120</PostbackTimeout>

</UI>

Once you modify this and save it, the report server Windows Service and the IIS needs to be restarted (For Reporting Service use the Reporting Service config manager UI tool and for IIS use the command prompt to run IISRESET).

To resolve this issue (SSRS 2008) , Add the PostbackTimeout setting in the RsReportServer.config file (Under Report Server folder). It should look like this, (Please make sure that the below elements are case sensitive. )

<UI>
<ReportServerUrl>
</ReportServerUrl>
<PageCountMode>Estimate</PageCountMode>
<PostbackTimeout>120</PostbackTimeout>
</UI>

Once you modify this and save it, the report server Windows Service needs to be restarted (Use the Reporting Service config manager UI tool).

HTH!

Selva.

(The post is AS-IS and doesn't carry any warranty)