Предположим, у меня есть служба WCF и метод в контракте
<ServiceContract()> _
Interface IThingService
'...
<OperationContract()> _
Function GetThing(thingId As Guid) As Thing
End Interface
где Thing - обычный класс с обычными свойствами, за исключением одного члена:
Public Class Thing
' ...
Public Property Photos() As Dictionary(Of String, Photo)
' ...
End Class
где Фото - это обычный класс с обычными свойствами.
Итак, я углубляюсь в некоторую документацию, такую как эта статья MSDN и эта запись в блоге , и теперь я растерялся, если мне нужно много понять о DataContractSerializer и подробностях о том, как служба сериализует свойство Photos.
Нужно ли идти туда или я могу что-то сделать, чтобы WCF на сервере автоматически взаимодействовал с моим клиентом? Мне кажется, что все детали сериализации должны быть абстрагированы - я просто хочу закончить, в потребительском клиентском приложении, с:
Dim foo as Thing = ThingServiceClient.GetThing(someGuid)
Dim myPhotos as Dictionary(Of String, Photo) = foo.Photos
Что мне нужно сделать в моем определении вещи, чтобы сделать эту работу? Что-нибудь, что мне нужно сделать в другом месте, чтобы заставить это работать? Нужно ли беспокоиться о том, чтобы служба прилипала к DataContractSerializer и не использовала XmlSerializer?