目的WCF DataContractSurrogate不同的非遺傳類型
要動態公開爲具有未知的枚舉類型的服務的RSS/ATOM端點。該類型將通過反射發現以構建聯合終結點。
方法
我使用.NET 4.0
我反映了一個dll揭露端點,即JSON,XML,SOAP。這一切都按我希望的那樣工作。 (因此,我使用代碼來配置我的WCF設置)。
我現在正在試圖揭露了通過反射通過我的服務公開,這樣我可以公開每個方法返回一個ICollection的一個SyndicationFeed發現所有的ICollection一個RSS端點。
我相信,我想用一個datascontractsurrogate,並遵循什麼MSDN有對這個補充。我已經連接了我的datacontractsurrogate,並且我觀察到它正在我的調試點內的代理。
我從svclog觀衆收到以下異常:
異常類型:
System.Runtime.Serialization.InvalidDataContractException, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
消息:
Using surrogates with get-only collection properties is not supported. Consider removing the surrogate associated with 'System.Collections.Generic.Dictionary`2[[System.Xml.XmlQualifiedName, System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.
問題
- 概念什麼是我對 選項實現我想acheive什麼?
- 我能保持輸出SyndicationFeed類型,而不是選擇寫即席爲XML字符串的類型安全的方法嗎?