I was curious if someone could outline which types of WCF contract (interface) changes on the server side would break a client trying to send in a message, and why. I believe WCF can handle certain discrepancies, but I'm not sure exactly what you can change safely, and what you can't.
- Add/remove parameters from an OperationContract?
- Add/remove/change the DataContract's serialized properties?
- Add/remove OperationContracts from a ServiceContract?
A friend asked a similar question here:
EDIT: As John Saunders pointed out, changing the contract is not usually a good idea, but there are things built in that allow for some version tolerance (ExtensionDataObject, etc.?). I would just like to know how flexible the version tolerance is.