HTTP PUT期间对象上的数据丢失

时间:2012-03-15 19:20:09

标签: c# put

这是Put调用(注意:我已经完成了传统的非Microsoft API方式,同样的结果)。

response = httpClient.Put(uriTemplate, contentType, CreateContentFromObject(obj));

然后我调试到最终显示以下内容的服务: enter image description here

这是我的对象

    [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,则没有问题......

1 个答案:

答案 0 :(得分:0)

这是序列化问题

我在我的数据成员上使用了[Order]属性,这解决了我的问题。