Ошибка при вызове службы в асинхронном режиме

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

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

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

Что с этим?


person sebagomez    schedule 31.03.2009    source источник
comment
Пожалуйста, опубликуйте полное исключение вместе с любыми InnerException. Опубликуйте вывод ex.ToString ().   -  person John Saunders    schedule 31.03.2009
comment
это внутреннее исключение, ауттер был просто "не удалось выполнить аргумент"   -  person sebagomez    schedule 31.03.2009


Ответы (1)


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

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

[ServiceContract]
interface IContactManager
{
   ...
   [OperationContract]
   MyDictionary GetContacts( );
}
person Preet Sangha    schedule 31.03.2009
comment
это не помогло, но предполагается, что это именно так, поэтому я помечу как ответ. Нашел такое же разрешение на многих ресурсах, не знаю, в чем моя проблема :( - person sebagomez; 01.08.2009