wcf DataContractSerializer добавление known type
От: k0st1x Марс  
Дата: 24.09.10 09:23
Оценка:
имеется sl сторона и web-сервис на wcf;
клиент к сервису находится в отдельной sl dll'ке;
есть контракт между сервисом и клиентом, который передается как Object — если передаем простые типы, то все работает адекватно;
сейчас добавить кастомный тип (enum MyEnum),
вот тут начались проблемы: если я юзаю сгенерированый мною клиент в своей сборке (который знает о новом типе) то ошибки нет;
но если его пытается десериализовать клиент из подключенной dll, то он падает с тем, что не знает, что за тип ему пришел;
ошибка примерно такая:

The deserializer has no knowledge of any type that maps to this contract. Add the type corresponding to 'MyEnum' to the list of known types — for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.'. Please see InnerException for more details.

Inner Exception:
The deserializer has no knowledge of any type that maps to this contract. Add the type corresponding to 'MyEnum' to the list of known types — for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.


я так понял, что KnowntypeAttribute — это для сервера.
так что мне предположительно нужно как то добраться до DataContractSerializer'а и пропихнуть ему тип MyEnum.

прошу помочь, если кто знает, как это сделать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.