Tôi đang thử nghiệm với các dịch vụ web REST của WCF và tôi đang gặp sự cố với các thuộc tính Tự động triển khai.WCF Xml serialization và các thuộc tính được tự động thực hiện
Tôi có một lớp được gọi là DeviceDescriptor, được xác định như sau:
public class DeviceDescriptor
{
public string DeviceId { get; set; }
public string DisplayName { get; set; }
}
Tôi có một dịch vụ WCF RESTful đó là nghĩa vụ phải trả lại một Danh sách DeviceDescriptors - đây là hợp đồng dịch vụ của tôi:
[ServiceContract]
public interface IChooser
{
[WebGet(UriTemplate="/Chooser/RegisteredDevices")]
[OperationContract]
List<DeviceDescriptor> RegisteredDevices();
[WebGet(UriTemplate = "/Chooser/Ping")]
[OperationContract]
string Ping();
}
Vâng, nó là loại công việc, ngoại trừ trong đầu ra XML, tên thuộc tính không xuất hiện đúng, có vẻ như bộ nối tiếp đang sử dụng "tên không thể hiển thị" của trường sao lưu được tạo tự động thay vì tên thuộc tính. Sản lượng của tôi xuất hiện như sau:
<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>
Vì vậy, có cách nào không? Tại sao không WCF sử dụng tên thuộc tính?
Các StackOverflow nghịch lý: Tôi vừa kiếm được 'câu hỏi phổ biến' huy hiệu cho mặt hàng này, nhưng chỉ có một phiếu bầu tán thành. –