New to Telerik Reporting? Download free 30-day trial

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>
In this article