Неправильный формат XML службы отдыха WCF при нулевых значениях .NET 4.0 - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть служба отдыха WCF, которую я создал с помощью шаблона службы WCF REST 40. Он отлично работает, за исключением того, что любой [DataMember] имеет значение null, XML-ответ неправильно отформатирован. например, если [Datamember Name = "экспериментальный номер"] является нулевым или пустым. Я хочу следующее

    <section><a:content><a:created>2011-12-15T08:03:11</a:created><a:documentid>1935</a:documentid><a:experimentnumber></a:experimentnumber><a:lastedited>2011-12-15T08:03:11</a:lastedited><a:sectionauthor>ZLATAN</a:sectionauthor><a:sectiontitle>Data files</a:sectiontitle></a:content></section>

Но я понял

    <section><a:content><a:created>2011-12-15T08:03:11</a:created><a:documentid>1935</a:documentid><a:experimentnumber><a:lastedited>2011-12-15T08:03:11</a:lastedited><a:sectionauthor>ZLATAN</a:sectionauthor><a:sectiontitle>Data files</a:sectiontitle></a:experimentnumber></a:content></section>

Вот мой сервисный контракт

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode =  AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class MyClass

тогда в классе обслуживания у меня есть этот контракт на коллекцию

[CollectionDataContract(Name = "sections")]
public class Sections : List<MyClass.Model.Section>
{ } 

тогда у меня есть конечная точка

[OperationContract]
public Sections GetSections(string typeid, string title, string lastedited)

Класс сечения имеет этот датаконтракт

[DataContract (Name="Section")]
public class Section

номер эксперимента - строка данных

[DataMember(Name = "experimentnumber")]
 public string ExperimentNumber
   {
       get
       {
           return this.experimentnumber;
       }
       set
       {

       }
   }
...