Я пытаюсь вернуть сложный тип из метода службы в WCF. Я использую C # и .NET 4. Этот сложный тип должен быть инвариантным (точно так же, как строки .net). Более того, служба только возвращает его и никогда не принимает в качестве аргумента.
Если я попытаюсь определить только геттеры для свойств, я получу ошибку времени выполнения. Я предполагаю, что это связано с тем, что никакие сеттеры не приводят к сбою сериализации. Тем не менее, я считаю, что этот тип должен быть инвариантным.
Пример:
[DataContract]
class A
{
[DataMember]
int ReadOnlyProperty {get; private set;}
}
Служба не загружается из-за проблемы с сериализацией.
Есть ли способ сделать в контракте данных WCF свойства только для чтения? Возможно, заменив сериализатор? Если да, то как? Если нет, что вы посоветуете для решения этой проблемы?
Спасибо,
Асаф