Scenario: Say, we have defined a custom Message contract to use in our Application like so:
public enum SendMessageType
{
Send,
Ack,
Resend,
}
[MessageContract(IsWrapped=false)]
public class TestMessage
[MessageHeader]
public SendMessageType Type;
public int MessageId;
[ServiceContract(CallbackContract = typeof(IMessage))]
public interface IMessage
[OperationContract(IsOneWay = true)]
void SendMessage(TestMessage message);
Symptom: Messages are not being received by the peers and the client channels are being torn down due to FaultException when sending messages.
Tip: Make sure that the TestMessage Message Contract above actually has an explicit constructor defined as well. So the modified TestMessage Message contract looks like:
public TestMessage()
-Shalini.