Модель асинхронного программирования в WCF с async / await - Ошибка выполнения при сериализации - PullRequest
0 голосов
/ 08 апреля 2011

Я разработал свой код на основе этого сообщения: Модель асинхронного программирования в WCF с async / await

Произошла ошибка компиляции , но при размещении она генерирует ниже указанной ошибки:

Тип 'System.Threading.Tasks.Task`1 [System.String]' не может быть сериализован. Consid пометив его атрибутом DataContractAttribute и пометив все его Угли, которые вы хотите сериализовать с атрибутом DataMemberAttribute. Если тип является коллекцией, попробуйте пометить ее с помощью CollectionDataContractAttribute. См. Документацию Microsoft .NET Framework для других поддерживаемых типов.

В чем может быть причина.

1 Ответ

1 голос
/ 08 апреля 2011

Похоже, что один из ваших методов либо возвращает объект Task, либо имеет объект Task в качестве одного из своих параметров.

Задачи не могут быть переданы через границу веб-службы - это причина вашей проблемы.

Обновление: Я посмотрел ссылку, по которой вы получили этот код, и похоже, что предоставленный код является только концептуальным. Если вы внимательно посмотрите на формулировку, он говорит «будет» вместо «можно».

WCF vNext примет модель Async как на клиенте, так и на сервере сторона, и предоставить новые задачи на основе перегрузки для некоторых наиболее часто используемых асинхронные API.

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

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