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

Timing out on larger datasets...

6 Answers 201 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Kevin
Top achievements
Rank 1
Kevin asked on 20 Oct 2011, 09:10 PM
Using a Silverlight application and Telerik ReportViewer  we're having the following issue.

We have a drop down to pick a client.  That is passed to the report SQL and is all working fine.

If I run a smaller client report (up to about 60 pages or so works fine), it comes back fine.

If I run a larger client report... I get the following message.

Error: System.Reflection.TargetInvocationException : An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.
   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
   at Telerik.Reporting.Service.SilverlightClient.RenderAndCacheEventArgs.get_RenderingResult()
   at Telerik.ReportViewer.Silverlight.ReportViewerModel.OnRenderAndCacheCompleted(Object sender, RenderAndCacheEventArgs e)
 
------------- InnerException: -------------
 
System.ServiceModel.CommunicationException : The remote server returned an error: NotFound.
   at System.ServiceModel.Channels.Remoting.RealProxy.Invoke(Object[] args)
   at proxy_3.EndRenderAndCache(IAsyncResult )
   at Telerik.Reporting.Service.SilverlightClient.ReportServiceClient.OnEndRenderAndCache(IAsyncResult result)
   at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
 
------------- InnerException: -------------
 
System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
 
------------- InnerException: -------------
 
System.Net.WebException : The remote server returned an error: NotFound.
   at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)

Same report... only difference is the volume of data.  I can subsequently pick a smaller client and it reloads and renders just fine.

This error occurs (by me counting) about 40 seconds after the initial call.

I have tried setting the binding as follows (and confirmed the code gets called)

public ReportServiceClient Create(Uri remoteAddress)
{
    var binding = new BasicHttpBinding() // or BasicHttpBinding(BasicHttpSecurityMode.Transport) overload if SSL is used
    {
        MaxBufferSize = int.MaxValue,
        MaxReceivedMessageSize = int.MaxValue,
        ReceiveTimeout = new TimeSpan(0, 15, 0),
        SendTimeout = new TimeSpan(0, 15, 0),
        OpenTimeout = new TimeSpan(0, 15, 0)
    };
 
    var endpointAddress = new EndpointAddress(remoteAddress);
 
    return new ReportServiceClient(binding, endpointAddress);
}

The report is configured using a SqlDataSource object and the CommandTimeout there is set to 900 seconds.  After that SQL text is used with a single parameter.

Again it only fails on large amounts of data... It works fine in Preview mode (design time) as well.  One big one is 1400+ pages which is only about 42,000 rows.

6 Answers, 1 is accepted

Sort by
0
Steve
Telerik team
answered on 25 Oct 2011, 04:21 PM
Hi Kevin,

You have to apply the same attributes to the binding in the web.config file. This would ensure that these attributes are respected both on the server and client side.

Kind regards,
Steve
the Telerik team

Q2’11 SP1 of Telerik Reporting is available for download (see what's new). Get it today.

0
Kevin
Top achievements
Rank 1
answered on 31 Oct 2011, 04:29 PM
Did all that... and got it to work when running locally (local web browser, local IIS, reporting service, remote data)

However, when I try to deploy it to a test server, it works when I run it from a browser ON that test server.  It does not work when I run it on a browser from another machine on the network..

So this works...

Webserver (hitting SQL Server on ServerBox)
Browser
Silverlight Application
Reporting Service

This does not

Desktop
Browser

Webserver (hitting SQL Server on ServerBox)
Silverlight Application
Reporting Service
0
Kevin
Top achievements
Rank 1
answered on 01 Nov 2011, 08:41 PM
More data...

it turns out to be a problem ONLY in Chrome and Firefox... Not in IE...
0
Steve
Telerik team
answered on 02 Nov 2011, 10:47 AM
Hi Kevin,

We have not encountered such an issue so far and do not believe this could be a browser specific problem. Please disable any firewalls or antivirus programs you have locally and if this does not make a difference try accessing your site from another location just to be sure this ain't related.
If the problem persists, use web debugging proxy like Fiddler to see what is the response from the server and whether there is a more user friendly error returned. You can also review the IIS and server logs to see if there isn't anything that could hint what is happening.

Greetings,
Steve
the Telerik team

Q2’11 SP1 of Telerik Reporting is available for download (see what's new). Get it today.

0
Kevin
Top achievements
Rank 1
answered on 02 Nov 2011, 01:04 PM
"We have not encountered such an issue so far and do not believe this could be a browser specific problem."

I give you information and then have to wait 2 days to be have that information dismissed out of hand and told essentially to "make sure the computer is turned on".

One step ahead of you...

Have been using Fiddler in all this.
Have tried on different machines.
Have been working with our infrastructure team to insure it's not a firewall timeout.

The ONLY variable, as I reported and you ignored... is the browser.


Machine1 (client) using Firefox (browser) hitting Machine2 (server) - FAIL
Machine1 (client) using Chrome (browser) hitting Machine2 (server) - FAIL
Machine1 (client) using IE (browser) hitting Machine2 (server) - SUCCESS!

Machine1 (client) using Firefox (browser) hitting Machine1 (server) - FAIL
Machine1 (client) using Chrome (browser) hitting Machine1 (server) - FAIL
Machine1 (client) using IE (browser) hitting Machine1 (server) - SUCCESS!

Machine2 (client) using Firefox (browser) hitting Machine2 (server) - FAIL
Machine2 (client) using Chrome (browser) hitting Machine2 (server) - FAIL
Machine2 (client) using IE (browser) hitting Machine2 (server) - SUCCESS!

Machine3 (client) using Firefox (browser) hitting Machine2 (server) - FAIL
Machine3 (client) using Chrome (browser) hitting Machine2 (server) - FAIL
Machine3 (client) using IE (browser) hitting Machine2 (server) - SUCCESS!

The ONLY VARIABLE IN the SUCCESS or FAIL is BROWSER

Fiddler reports nothing on the failures... the calls just fail.

Please do not ignore this and please try to offer some helpful suggestions of what to check.  If you don't believe my competency in this, I can make a video demonstrating that this is BROWSER RELATED.

UPDATE:

From Fiddler... here are the calls that the Telerik Reporting engine is making... You will see they are the same except for the browser (and the Silverlight URL ID -- cannot do anything about that)



IE:

POST http://showcase-test.treb.com/ShowCaseProspector/(S(lelmygnpqky5iq24a1y30i2i))/ReportService.svc HTTP/1.1
Accept: */*
Accept-Language: en-US
Referer: http://showcase-test.treb.com/ShowCaseProspector/(S(lelmygnpqky5iq24a1y30i2i))/ClientBin/Prospecting.xap
Content-Length: 1565
Accept-Encoding: identity
Content-Type: text/xml; charset=utf-8
SOAPAction: "Telerik.ReportService/IReportService/RenderAndCache"
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
Host: showcase-test.treb.com
Connection: Keep-Alive
Pragma: no-cache

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><RenderAndCache xmlns="Telerik.ReportService"><format>XAML</format><report>ClassLibraryReports.ReportProspectList, ClassLibraryReports</report><deviceInfo xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><d4p1:KeyValueOfstringanyType><d4p1:Key>CurrentCulture</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">en-US</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>CurrentUICulture</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">en-US</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>Telerik.ReportViewer.PageNumber</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:int">0</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>Telerik.ReportViewer.NavigateHistory</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">ReplaceCurrentHistoryRecord</d4p1:Value></d4p1:KeyValueOfstringanyType></deviceInfo><parameters xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><d4p1:KeyValueOfstringanyType><d4p1:Key>DataPartnerID</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:int">373</d4p1:Value></d4p1:KeyValueOfstringanyType></parameters></RenderAndCache></s:Body></s:Envelope>

Firefox:

POST http://showcase-test.treb.com/ShowCaseProspector/(S(5vtu41hmtalkbbwfurbef2m5))/ReportService.svc HTTP/1.1
Accept: */*
Accept-Language: en-US
Referer: http://showcase-test.treb.com/ShowCaseProspector/(S(5vtu41hmtalkbbwfurbef2m5))/ClientBin/Prospecting.xap
Content-Length: 1565
Accept-Encoding: identity
Content-Type: text/xml; charset=utf-8
SOAPAction: "Telerik.ReportService/IReportService/RenderAndCache"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Host: showcase-test.treb.com
Connection: Keep-Alive
Pragma: no-cache

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><RenderAndCache xmlns="Telerik.ReportService"><format>XAML</format><report>ClassLibraryReports.ReportProspectList, ClassLibraryReports</report><deviceInfo xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><d4p1:KeyValueOfstringanyType><d4p1:Key>CurrentCulture</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">en-US</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>CurrentUICulture</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">en-US</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>Telerik.ReportViewer.PageNumber</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:int">0</d4p1:Value></d4p1:KeyValueOfstringanyType><d4p1:KeyValueOfstringanyType><d4p1:Key>Telerik.ReportViewer.NavigateHistory</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:string">ReplaceCurrentHistoryRecord</d4p1:Value></d4p1:KeyValueOfstringanyType></deviceInfo><parameters xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><d4p1:KeyValueOfstringanyType><d4p1:Key>DataPartnerID</d4p1:Key><d4p1:Value xmlns:d6p1="http://www.w3.org/2001/XMLSchema" i:type="d6p1:int">373</d4p1:Value></d4p1:KeyValueOfstringanyType></parameters></RenderAndCache></s:Body></s:Envelope>


Also of note... with Firefox, the report times out -- but watching Fiddler, the response actually DOES come back with all the data.  It's 100% identical to the response with IE.  Somehow the Report control under Firefox is timing out.
0
Kevin
Top achievements
Rank 1
answered on 03 Nov 2011, 03:37 PM
As further proof it's a browser specific issue...

http://forums.silverlight.net/t/221590.aspx

http://connect.microsoft.com/VisualStudio/feedback/details/561011/completed-events-for-wcf-calls-not-firing-in-firefox-when-using-client-http-stack

It's browser specific, but a bug in Silverlight.  Quite frankly I'm shocked that no one else has seen this.
Tags
General Discussions
Asked by
Kevin
Top achievements
Rank 1
Answers by
Steve
Telerik team
Kevin
Top achievements
Rank 1
Share this question
or