В моем проекте у меня есть модель представления City, которую предоставляет wcf.
Одно из свойств названо иначе, чем диктует уже открытый контракт.
Поэтому я добавил атрибут DataMember и установил значение Name следующим образом:
<DataContract(Namespace:=ServiceNamespace)> _
Public Class City
private mySelectedTranslation as String
<DataMember(Name:="CityName")> _
Public Property SelectedTranslation() As String
Get
Return mySelectedTranslation
End Get
Set (ByVal value As String)
mySelectedTranslation = value
End Set
End Property
End Class
Однако в моем тестовом проекте ссылка на службу, похоже, не улавливает атрибут DataMember и получает свойство SelectedTranslation вместо свойства CityName.
Что мне не хватает?
ОБНОВЛЕНИЕ
Я обнаружил, что когда я удаляю параметр XmlSerializerFormat(Style:=OperationFormatStyle.Rpc)
в ServiceContract, атрибут datamember используется правильно. Я думаю, что в RPC XmlSerializer может быть ошибка?