Difference between OperationTimeout and SendTimeout in WCF
After quite a bit of searching, I could not find the answer to this question.
What is exact difference between OperationTimeout and SendTimeout? I read OperationTimeout is a subset of SendTimeout and SendTimeout includes writing message in the channel. If you give more details that would be great.
My second question is I have client call to a service where I just want to set timeout between soon after request sent to the server and soon after received reply from the server. How to set this timeout?
I'd like to propose reading this answer from Brian McNamara over on the MSFT forums:
Brief summary of binding timeout knobs...
- SendTimeout is used to initialize the OperationTimeout, which governs the whole interaction for sending a message (including receiving a reply message in a request-reply case). This timeout also applies when sending reply messages from a CallbackContract method.
- OpenTimeout and CloseTimeout are used when opening and closing channels (when no explicit timeout value is passed).
- ReceiveTimeout is not used.
- Send, Open, and Close Timeout same as on client (for Callbacks).
- ReceiveTimeout is used by ServiceFramework layer to initialize the session-idle timeout.