Распространенные причины, по которым SlSvcUtil.exe не использует типы контрактов данных - PullRequest
3 голосов
/ 29 апреля 2011

У меня есть веб-сервис WCF, который используется клиентами Silverlight и .NET.Чтобы обмениваться типами контрактов данных с обоими клиентами, контракты определяются в двух библиотеках классов: одна Silverlight и одна .NET.Файлы, определяющие типы контрактов данных, совместно используются двумя библиотечными проектами по ссылкам.

Создание прокси-сервера для использования службы прекрасно работает для .NET.В частности, типы контрактов данных из моей библиотеки классов .NET используются повторно, как и ожидалось.

Однако генерация прокси-сервера Silverlight через SlSvcUtil.exe не использует типы контрактов данных повторно.Это верно, независимо от того, запускаю ли я SlSvcUtil.exe из командной строки с параметром / r или использую диалоговое окно «Добавить ссылку на службу» из Visual Studio.

Методом проб и ошибок я определил, что один типИспользуется в одном методе обслуживания является источником этой проблемы.Если служба перестает использовать этот тип, SlSvcUtil.exe генерирует прокси-сервер, как и ожидалось (с типами, повторно используемыми из сборки контрактов данных).

Теперь, когда я сузил проблему до этого типа, яне уверен, что искать дальше.Тип содержит член, который реализует IXmlSerializalble.Может ли это вызвать такое поведение?Каковы некоторые общие причины для этого?Каковы хорошие подходы для дальнейшего устранения неполадок?

1 Ответ

2 голосов
/ 16 декабря 2011

Я уверен, что вы давно перешли от этого, но сегодня утром я столкнулся с подобной проблемой - у меня был тип, у которого не было конструктора по умолчанию. После добавления одного таинственный тип исчез при запуске SlSvcUtil. Почему это будет правильно работать с SvcUtil, мне не понятно. Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...