这是Put调用(注意:我已经完成了传统的非Microsoft API方式,同样的结果)。
response = httpClient.Put(uriTemplate, contentType, CreateContentFromObject(obj));
然后我调试到最终显示以下内容的服务:
这是我的对象
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(TypeName = "Dog", AnonymousType = true, Namespace = "http://schemas.datacontract.org/2004/07/DowCorning.BusinessObjects")]
[System.Xml.Serialization.XmlRootAttribute(DataType = "Dog", Namespace = "http://schemas.datacontract.org/2004/07/DowCorning.BusinessObjects", IsNullable = false)]
public class Dog
{
public string FurColor { get; set; }
public int Weight { get; set; }
public string Temperment { get; set; }
public string Tricks { get; set; }
public string Breed { get; set; }
}
这是我的合同
[OperationContract(Name = "http://www.company.com/dog")]
[WebInvoke(ResponseFormat = WebMessageFormat.Xml, UriTemplate = "dog", Method = "PUT")]
Dog Doggy(Dog updateDog);
任何有关确定数据丢失原因的帮助都将非常感激。
注意:如果我通过提琴手执行PUT,则没有问题......
答案 0 :(得分:0)
这是序列化问题
我在我的数据成员上使用了[Order]属性,这解决了我的问题。