I have a client application developed in .net seding a request to wcf service and supposed to send reponse .if execution time with in 1 minute,there is no error,if it exceeds 1 minute the error is Inner exception: This request operation sent to net.tcp://localhost:18001/PitToPort/2008/01/30/StockpileService/tcp did not receive a reply within the configured timeout (00:01:00). The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client how to increase the time out and how?What is the best solution.
The timeout is called "sendTimeout" and you can configure it on your binding section in your config file, or in code - your choice.
config:
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding sendTimeout="00:03:00" />
</netTcpBinding>
</bindings>
This will set the timeout to 3 minutes.
Marc
I have add the following code to the Service app code system.transactions defaultSettings timeout="00:30:00" with this code the service will wait 30 minutes to get process done in database server and increase the maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" in client binding attributes, then it works fine.
Problem :Service is sending response but the client buffersize was less previously,I increased to maximum buffer size.
Be careful, this error message is a boilerplate string WCF sends when it doesn't have a clue what happened. It really means "mmh something went wrong in the chain but I'm not really sure what, so, here's some trivia about the configuration, do what you want with it".
MOST OF THE TIME when you get this message it has nothing to do with actual timeouts. It can be quotas (number of objects in the graph, overall size, array length) or something that went wrong server-side, between the time your service method returned a result and the actual bytes were sent over the wire. So, you should check your configuration settings (and not the timeout, except if you had to actually wait for one minute to get the error. If you got the error straight away, it has nothing to do with timeouts whatsoever).
This useless message is on top of my list of WCF annoyances.
If you know why the server is taking more than a minute to respond to the client, then you should extend the OperationTimeout of the channel (as it says in the error message).
Check out this, including a code sample at the end: http://final-proj.blogspot.com/2009/09/wcf-timeouts.html
Good luck.
Here is a far simpler solution... just set the property directly on the current ClientBase. In other words, first add a service reference, initalize it, then set the property "InnerChannel.OperationTimeout"
NetUtilsWCF.SMTPDiagClient sClient = new NetUtilsWCF.SMTPDiagClient();
sClient.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0);