|
WCF: рекурсивный вызов сервиса.
|
|||
---|---|---|---|
#18+
Всем привет! Есть WCF-сервис. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Класс WcfEntityService.TH.Category наследуется от WebEntityBase и расположен в другой сборке. В нём есть метод, рекурсивно вызывающий ScanEntity. Проблема: при рекурсивном вызове ScanEntity возникает ошибка сериализации. There was an error while trying to serialize parameter http://tempuri.org/:entity. The InnerException message was 'Type 'WcfEntityService.TH.Category' with data contract name 'Category:http://schemas.datacontract.org/2004/07/WcfEntityService.TH' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer.'. Please see InnerException for more details. [KnownType] присутствует. Подскажите, куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2013, 18:47 |
|
WCF: рекурсивный вызов сервиса.
|
|||
---|---|---|---|
#18+
Jovanny, С атрибутами напутали. Например, KnowTypeAttribute применяется к контрактам данных, а не к службе ( MSDN ). ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2013, 10:34 |
|
WCF: рекурсивный вызов сервиса.
|
|||
---|---|---|---|
#18+
Sergey TSV, В общем-то KnownType там лишний. Достаточно Код: c# 1.
Но проблема остаётся. Почему сервис не понимает тип WcfEntityService.TH.Category при рекурсивном вызове, в то время как при внешнем вызове всё работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2013, 17:32 |
|
WCF: рекурсивный вызов сервиса.
|
|||
---|---|---|---|
#18+
Проблема скорее в том коде, который здесь не показан. Что такое WcfEntityService.TH.Category? Контракт данных? Контракт службы? Судя по этому коду, это контракт данных, тогда смущает следующее: JovannyВ нём есть метод, рекурсивно вызывающий ScanEntity. При такой постановке вопроса мало кто поможет... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2013, 10:30 |
|
WCF: рекурсивный вызов сервиса.
|
|||
---|---|---|---|
#18+
Да, WcfEntityService.TH.Category - это контракт данных. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
WebCategory наследуется от WebEntityBase. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2013, 10:55 |
|
|
start [/forum/topic.php?fid=19&fpage=10&tid=1397022]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 386ms |
0 / 0 |