Calling through to my Silverlight Enabled WCF-Service in my silverlight application, occasionally users get timeouts. Whats the easiest way to boost the time allowed by the service client for a response?
The exact exception thrown is: System.TimeoutException: [HttpRequestTimedOutWithoutDetail]
Thanks
Rather than changing the timeout, I think you should implement a timer-based callback to the server from the Silverlight application so that the session doesn't expire. This would eliminate the overhead of longer timeouts for all of your application.
This can be set in the node of the ServiceReference.ClientConfig file in the silverlight app.
The accepted answer here did not work for me. Instead I had to cast the base channel into an IContextChannel, and set the OperationTimeout on that.
To do that, I had to create a new file with a partial class, that matched the name of the ServiceReference. In my case the I had a PrintReportsService. Code is below.
Then when I create the client, I do the following:
That did it for me! More info is available here, but the code snippet in this post doesn't compile.
I fixed this by enabling compatibility mode in IE
This can be set, but there is an upper limit that is defined by the underlying HTTP library (I think its five minutes). Note that using a higher value will fall back to what the upper limit is. Also, be aware that you may need to configure the timeout on the server as well.