RestSharp XmlSerializer和通用列表不会被序列化

时间:2012-12-08 13:06:08

标签: c# xmlserializer restsharp

我正在使用RestSharp来获取和发布数据到WCF。复杂类型的去磁化正如预期的那样工作。但是,我注意到在发布具有复杂类型的请求(特别是通用列表)时,WCF服务中这些列表的计数始终为零。使用RestSharp XmlSerializer进行快速测试我注意到以下内容:

如果我尝试序列化以下对象列表项未序列化。

    var myObj = new SomeObject()
                    {
                        Id = 1,
                        Name = "Somename",
                        Items = new List<string> {"itemA", "itemB"}
                    };

    var ser = new XmlSerializer(); //RestSharp serializer
    var result = ser.Serialize(myObj);

    return result;

生成的xml:

<SomeObject>
  <Name>Somename</Name> 
  <Id>1</Id> 
  <Items>
    <String /> 
    <String /> 
  </Items>
</SomeObject>

但是,如果我使用标准.Net XmlSerializer,结果是:

- <SomeObject xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Name>Somename</Name> 
  <Id>1</Id> 
- <Items>
  <string>itemA</string> 
  <string>itemB</string> 
  </Items>
  </SomeObject>

发布复杂类型的请求时是否需要注册.NET XmlSerializer?还是我忘记了什么?

0 个答案:

没有答案