New to Telerik Reporting? Download free 30-day trial

How to Increase the timeout value of a WCF service

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

        <binding name="BasicHttpsBindingConfig" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
         receiveTimeout="00:10:00" sendTimeout="00:10:00">
        <readerQuotas maxArrayLength="2147483647" maxStringContentLength="2147483647"/>

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.

        <httpRuntime executionTimeout="600"/>
In this article