У меня есть веб-сервис WCF, который используется клиентами Silverlight и .NET.Чтобы обмениваться типами контрактов данных с обоими клиентами, контракты определяются в двух библиотеках классов: одна Silverlight и одна .NET.Файлы, определяющие типы контрактов данных, совместно используются двумя библиотечными проектами по ссылкам.
Создание прокси-сервера для использования службы прекрасно работает для .NET.В частности, типы контрактов данных из моей библиотеки классов .NET используются повторно, как и ожидалось.
Однако генерация прокси-сервера Silverlight через SlSvcUtil.exe не использует типы контрактов данных повторно.Это верно, независимо от того, запускаю ли я SlSvcUtil.exe из командной строки с параметром / r или использую диалоговое окно «Добавить ссылку на службу» из Visual Studio.
Методом проб и ошибок я определил, что один типИспользуется в одном методе обслуживания является источником этой проблемы.Если служба перестает использовать этот тип, SlSvcUtil.exe генерирует прокси-сервер, как и ожидалось (с типами, повторно используемыми из сборки контрактов данных).
Теперь, когда я сузил проблему до этого типа, яне уверен, что искать дальше.Тип содержит член, который реализует IXmlSerializalble.Может ли это вызвать такое поведение?Каковы некоторые общие причины для этого?Каковы хорошие подходы для дальнейшего устранения неполадок?