Where does this timeout : "The page failed to render within the specified timeout interval of 100 seconds." come from

1 Answer 55 Views
Report Viewer - WPF
Scott Waye
Top achievements
Rank 1
Veteran
Scott Waye asked on 06 Dec 2021, 03:24 PM

Using the WPF report viewer, I see this message

 

Where is this 100 seconds defined?  Its not a command timeout as I have those either on the default of 30 or set to 120.  Is there a client side timeout set on the web requests to the server?

1 Answer, 1 is accepted

Sort by
1
Accepted
Kristina
Telerik team
answered on 08 Dec 2021, 02:12 PM

 Hi Scott,

The "Page failed to render within the specified timeout interval of 100 seconds" message can occur when a desktop viewer (e.g. WPF, WinForms) calls the Reporting Rest Service and the connection string timeout expires to connect to Reporting Engine. 100 seconds is a default value.
So, in order to increase the timeout for rendering a document, you can use a RestServiceConnectionInfo instance as demonstrated in How to Construct a string to connect to Report Engine.


You can set the timeout through code (Window1.xaml.cs):

        public Window1()
        {
            this.InitializeComponent();
            this.ReportViewer1.ReportEngineConnection = new Telerik.ReportViewer.Common.RestServiceConnectionInfo(uri: "http://localhost:12345/api/reports", timeout: 120).ConnectionString;
            this.ReportViewer1.ReportSource = new Telerik.Reporting.UriReportSource() { Uri = "Report Catalog.trdp" };
        }

Or you can change it from your xaml file, if you prefer, example: 
      <tr:ReportViewer Grid.Row="1" x:Name="ReportViewer1" HorizontalAlignment="Stretch" ReportEngineConnection="engine=RestService;uri=http://localhost:12345/api/reports;useDefaultCredentials=False;timeout=120;keepClientAlive=True">
                <tr:ReportViewer.ReportSource>
                    <telerikReporting:TypeReportSource TypeName="Telerik.Reporting.Examples.CSharp.ReportCatalog, CSharp.ReportLibrary" />
                </tr:ReportViewer.ReportSource>
      </tr:ReportViewer>

 

The timeout setting is quite similar for ReportServerConnectionInfo.

        public Window1()
        {
            this.InitializeComponent();
            this.ReportViewer1.ReportEngineConnection = new Telerik.ReportViewer.Common.ReportServerConnectionInfo(uri: "http://yourreportserver:83", username:"yourusername", password:"yourpassword", timeout: 120).ConnectionString;
            this.ReportViewer1.ReportSource = new Telerik.Reporting.UriReportSource() { Uri = "Samples/Dashboard" };
        }


     <tr:ReportViewer Grid.Row="1" x:Name="ReportViewer1" HorizontalAlignment="Stretch" ReportEngineConnection="engine=ReportServer;uri=http://yourreportserver:83;username=yourusername;password=yourpassword;timeout=120;keepClientAlive=True">
                <tr:ReportViewer.ReportSource>
                    <telerikReporting:UriReportSource Uri="Samples/Dashboard"/>
                </tr:ReportViewer.ReportSource>
            </tr:ReportViewer>

Let us know if you have any additional questions.

 

Regards, Kristina Progress Telerik

Brand new Telerik Reporting course in Virtual Classroom - the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products. Check it out at https://learn.telerik.com/.
Scott Waye
Top achievements
Rank 1
Veteran
commented on 08 Dec 2021, 02:46 PM

Thank you very much!
Tags
Report Viewer - WPF
Asked by
Scott Waye
Top achievements
Rank 1
Veteran
Answers by
Kristina
Telerik team
Share this question
or