有誰知道是否有可能使用2個不同的合約串行器有2個不同的端點?特別是,默認的DataContractSerializer的SOAP/XML和Json.NET串行的REST/JSONWCF的多個序列化裝飾
目的(由於兼容性問題)是具有相同DTO類下面人,序列化到以下JSON和XML格式
DTO類:
public class Person
{
public string Name { get; set; }
public string Surname { get; set; }
}
JSON
{Psn:{"Nm":"name1","Snm":"surname1"}}
XML
<Person><Name>name1</Name><Surname>surname1</Surname></Person>
可以看出,對於JSON響應應該包含縮水屬性名稱,但對XML版本的全屬性名稱。
我的想法是同時擁有系列化的註釋,那些由DataContractSerialiser的理解和那些Json.Net串行即這種東西理解:
[DataMember]
[JsonObject(Title="Psn")]
public class Person
{
[DataMember]
[JsonProperty(PropertyName="Nm")]
public string Name { get; set; }
[DataMember]
[JsonProperty(PropertyName="Snm")]
public string Surname { get; set; }
}
我想知道關於如何可以做到這一點的任何想法。
感謝您的評論。然而,儘管這樣做可行,並且繪圖可以很容易地完成,但是它將三倍不那麼幹淨的DTO,在真實場景中,人們將有大約20個場,並具有其他複雜場地...... – mrd3650