我以前没有用过MessageContract,听说跟DataContract差不多。可是我用的时候发现还是有些不同:1.DataContract在System.Runtime.Serialization命名空间下;MessageContract在System.ServiceModel下。2.客户端调用DataContract作为参数的方法时,是直接传定义好的DataContract;而调用MessageContract的方法,在客户端看来就好像没有这个类一样的,直接把Contract的属性作为参数传进去,就像这样:Proxy.ToStr(123,"Male","Znf");而契约是这样的:
[MessageContract]
public class CustomerMessage
{
[MessageBodyMember]
public int Id { get; set; } [MessageBodyMember]
public string Name { get; set; } [MessageBodyMember]
public string Gender { get; set; }
}对于问题2,请问是否是我配置或者编码错误造成这种现象,或者是消息契约在使用上和数据契约本来就不同?
还有,请前辈谈一谈数据契约和消息契约到底有什么区别?原理和使用方面。
[MessageContract]
public class CustomerMessage
{
[MessageBodyMember]
public int Id { get; set; } [MessageBodyMember]
public string Name { get; set; } [MessageBodyMember]
public string Gender { get; set; }
}对于问题2,请问是否是我配置或者编码错误造成这种现象,或者是消息契约在使用上和数据契约本来就不同?
还有,请前辈谈一谈数据契约和消息契约到底有什么区别?原理和使用方面。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货