wcfws-reliablemessaging

Why is reliable messaging not enabled by default on wsHttpBinding? AND Does the server or client config have precedence?


I've been reading about reliable messaging and have a few questions that I haven't been able to find the answer to:

  1. Why isn't RM enabled by default in wsHttpBinding (and others as well)? In what case would you not want to use reliable messaging? I know in streaming scenarios it doesn't really make sense, but I can't imagine an instance where you would want to send a message/data and not receive it.

  2. Which config file takes precedence if the server's and a client's do not match? I assume if they aren't both <reliableSession enabled="true" /> RM wouldn't be working (would that cause any errors to be thrown?), but what about things like ordered and inactivityTimeout?


Solution

  • Unless both server and client have set <reliableSession enabled="true" /> and session is not enabled on the server, it will not use reliable messaging.

    I try avoiding reliable messaging because of its overhead. As far as I am concerned, if an operation is TwoWay, successful reply will guarantee delivery - although not the other way around always true.