Недавно у нас возникла проблема с нашим сервисом WCF.Вот как это настроено:
- Служба имеет необходимые ServiceContracts и DataContracts
- В DataContract есть свойство только для чтения (см. Код ниже)
- Клиент использует ту же DLL с Service- и DataContracts (поэтому WSDL отсутствует)
Это свойство только для чтения:
Dictionary<string, string> _list;
[DataMember]
public IDictionary<string, string> Fields
{
get
{
if (_list == null)
_list = new Dictionary<string, string>();
return _list;
}
}
Клиент легко "устанавливает" это свойство с помощьюиспользуя метод Fields.Add()
.
Недавно мы получили исключение, что у Fields должен быть установщик.Я читал это в нескольких других местах, но это странная вещь:
- Он работал нормально на клиенте один день, не больше в другой день
- Он отлично работает надругие клиенты, и работает нормально в течение 1-2 лет
Так почему это внезапное изменение?Может ли это быть другой .NET Framework (клиент мог обновиться за одну ночь)?Действительно ли свойства readonly не поддерживаются в WCF, потому что на других клиентах это работает нормально?