Ошибка при вызове сервиса в асинхронном режиме - PullRequest
0 голосов
/ 31 марта 2009

Stackoverflow, безусловно, самый быстрый форум, поэтому после публикации этого вопроса на форуме WCF я решил приехать сюда.

У меня есть сервис wcf, который возвращает словарь (IDictionary), и он работает просто отлично. Теперь я хотел добавить возможность вызова этой службы в асинхронном режиме, но когда BeginMethod запускается, я получаю следующее исключение:

тип System.Collections.Generic.Dictionary`2 [[System.String, mscorlib, версия = 2.0.0.0, Culture = нейтрально, PublicKeyToken = b77a5c561934e089], [TransferProp, Контракты, Версия = 10.1.0.0, Culture = нейтрально, PublicKeyToken = 6f5bf81c27b6b8aa]] is не поддерживается, потому что он реализует IDictionary.

Что с этим?

1 Ответ

0 голосов
/ 31 марта 2009

В этом (CodeIdol) блоге рассказывается о создании собственной коллекции CollectionDataContract и ее возврате. Это помогает?

[CollectionDataContract]
public class MyDictionary : Dictionary<int,Contact>
{}

[ServiceContract]
interface IContactManager
{
   ...
   [OperationContract]
   MyDictionary GetContacts( );
}
...