Estoy experimentando con los servicios web RESTful de WCF y tengo un problema con las propiedades implementadas automáticamente.Serialización de WCF Xml y propiedades autoempleadas
tengo una clase llamada DeviceDescriptor, que se define de la siguiente manera:
public class DeviceDescriptor
{
public string DeviceId { get; set; }
public string DisplayName { get; set; }
}
Tengo un servicio de WCF REST que se supone que devolver una lista de DeviceDescriptors - aquí está mi contrato de servicios:
[ServiceContract]
public interface IChooser
{
[WebGet(UriTemplate="/Chooser/RegisteredDevices")]
[OperationContract]
List<DeviceDescriptor> RegisteredDevices();
[WebGet(UriTemplate = "/Chooser/Ping")]
[OperationContract]
string Ping();
}
Bueno, funciona, excepto que en el resultado XML, los nombres de las propiedades no salen bien, parece que el serializador usa los "nombres indetectables" de los campos de respaldo generados automáticamente en lugar de los nombres de las propiedades. Mi salida sale así:
<DeviceDescriptor>
<_x003C_DeviceId_x003E_k__BackingField>Pipe.Dome</_x003C_DeviceId_x003E_k__BackingField>
<_x003C_DisplayName_x003E_k__BackingField>Pipe diagnostic tool</_x003C_DisplayName_x003E_k__BackingField>
</DeviceDescriptor>
Por lo tanto, hay una manera de salir de esto? ¿Por qué doesn; t WCF usa los nombres de las propiedades?
La paradoja Stackoverflow: Me acabo de ganar la insignia 'pregunta popular' por este concepto, sin embargo, sólo hay una upvote. –