Как получить чистый результат отдыха XML из WCF REST Startkit? - PullRequest
0 голосов
/ 15 июля 2010

Я использую WCF REST Start Kit для Visual Studio 2008 или .Net 3.5.Пример службы сможет получить чистый XML-результат, например так:

<SampleItem>
  <Value>SampleValue</Value>
</SampleItem>

SampleItem - это простой класс со свойством Value в Service.scv.cs.Затем я попытался использовать настраиваемый класс, например

[global::System.Serializable()]
public class MyDomainClass {
   [global::System.Runtime.Serialization.DataMemberAttribute()]
   public string Name { get; set; }
   [global::System.Runtime.Serialization.DataMemberAttribute()]
   public double Value { get; set; }
   ...
}

Затем я использую этот класс для подключения, чтобы заменить универсальный класс Service.svc.cs:

 //public class Service : SingletonServiceBase<SampleItem>,
 //     ISingletonService<SampleItem>
 public class Service : SingletonServiceBase<MyDomainClass>,
      ISingletonService<MyDomainClass> {...}

Он работает нормально, норезультат XML будет выглядеть так:

<MyDomainClass>
   <_x003C_Name_x003E_k__BackingField>a name</_x003C_Name_x003E_k__BackingField>
   <_x003C_Value_x003E_k__BackingField>7.198</_x003C_Value_x003E_k__BackingField>
   ...

Я думаю, что я определил схему для своего класса, чтобы XML мог быть чистым, как в примере.Что я должен сделать, чтобы получить результат XML в чистом или ожидаемом порядке?

1 Ответ

1 голос
/ 15 июля 2010

Самый простой способ очистить имена ваших сущностей xml - указать свойство name объекта DataMemberAttribute:

[Serializable, DataContract]    
public class MyDomainClass 
{
   [DataMember(Name="Name")]
   public string Name { get; set; }

   [DataMember(Name="Value")]
   public double Value { get; set; }
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...