REST-объект для полудинамического объекта .net - PullRequest
0 голосов
/ 06 марта 2012

У меня есть веб-сайт, который использует REST для доступа к некоторым WCF.

У меня есть эта структура на стороне сервера:

<DataContract()>
Public Class Widget
    <DataMember()>
    Public Properties As Object 
    <DataMember()>
    Public Type As String
End Class

<DataContract()>
Public Class PropertiesA
    <DataMember()>
    Public Hip As String
End Class

<DataContract()>
Public Class PropertiesB
    <DataMember()>
    Public Hop As Integer
End Class

И я хотел бы передать объекты с тем или иным свойством, например:

A = { Widget: { Type: "text", Properties: { Hip: "toto" } } } // has to use PropertiesA
B = { Widget: { Type: "value", Properties: { Hop: 5 } } } // has to use PropertiesB

Но я не знаю, как сопоставить свойство «Тип» с тем фактом, что десериализатору .NET необходимо создать объект PropertiesA или PropertiesB.

Как вы думаете, это возможно?

Редактировать: в настоящее время глядя на DataContractResolver

1 Ответ

0 голосов
/ 07 марта 2012

WCF - это все о строго типизированных контрактах на услуги и сообщениях, отправляемых сервисам.В рамках строгой типизации в WCF есть некоторая гибкость в отношении интерфейсов и цепочек наследования.Посмотрите на эти два атрибута, чтобы увидеть, можно ли их адаптировать для достижения желаемого: атрибут ServiceKnownType или атрибут KnownType .

...