一直没有弄清楚,WCF如何使用post方法自动反序列化对象,看了几篇文章,终于搞清楚了怎么使用post方法进行对象传值。
下面直接使用WCF特性做元数据的自定义转换
定义元数据契约定义:
[DataContract(Name = "person")]
public class person
{
[DataMember(Name="Name")]
public string Name
{
get;
set;
}
[DataMember(Name = "Age")]
public int Age
{
get;
set;
}
服务描述:
[OperationContract] [WebInvoke(UriTemplate = "/doit2",ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] bool testpost(person p);
注意使用Post方法,post的BodyStyle必须为Wrapped,否则不能正常取到反序列化后的对象。