Aim
Для динамического предоставления конечной точки RSS / Atom для службы с неизвестным перечисляемым типом. Тип будет найден с помощью отражения для построения конечных точек синдикации.
подход
Я использую .net 4.0
Я размышляю над dll, чтобы выставить конечные точки, то есть json, xml, soap. Это все работает так, как я хочу. (Таким образом, я использую код для настройки моей настройки WCF).
Сейчас я пытаюсь предоставить конечную точку rss для всей коллекции ICollection, найденной через отражение, предоставляемое через мои службы, чтобы я мог предоставить SyndicationFeed для каждого метода, возвращающего ICollection.
Я полагаю, что хочу использовать суррогат данных и следовал тому, что msdn должен добавить к этому. Я подключил свой дата-контрактсуррогат и заметил, что он попадает в точки отладки внутри суррогата.
Я получаю следующее исключение из средства просмотра 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]]'.
Вопросы
- Концептуально, каковы мои варианты
достижения того, чего я хочу достичь?
- Могу ли я сохранить типобезопасный способ вывода типа SyndicationFeed вместо выбора записи adhoc в строку XML?