Increase the Timeout of a WCF Service
The Silverlight Report Viewer and its WCF Reporting Service are no longer supported and deployed with the installation of Telerik Reporting. The last release of Telerik Reporting with included Silverlight Report Viewer is R1 2023.
To avoid timeouts when using the Telerik Reporting WCF Service, one should set several attributes on the client and server side.
Timeouts on server binding
<bindings>
<basicHttpBinding>
<binding name="BasicHttpsBindingConfig" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
receiveTimeout="00:10:00" sendTimeout="00:10:00">
<readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647"/>
</binding>
</basicHttpBinding>
</bindings>
The number 2,147,483,647 is the max value of a 32 bit signed integer.
Timeouts on client binding
ReportServiceClient IReportServiceClientFactory.Create(System.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, 10, 0),
SendTimeout = new TimeSpan(0, 10, 0)
};
var endpointAddress = new EndpointAddress(remoteAddress);
return new ReportServiceClient(binding, endpointAddress);
}
For more information, see Using Custom Bindings.
Timeouts when hosted in ASP.NET
When a WCF service is hosted in IIS/ASP.NET, another setting would also control the lifetime of the request: ExecutionTimeout.
<configuration>
<system.web>
<httpRuntime executionTimeout="600"/>
</system.web>
</configuration>