0

Stackoverflow 绝对是最快的论坛,所以在 WCF 论坛上发布这个问题后,我决定来这里。

我有一个 wcf 服务,它返回一个字典(IDictionary)并且工作得很好。现在我想添加在异步模式下调用该服务的功能,但是当 BeginMethod 被执行时,我得到以下异常:

类型 System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[TransferProp, Contracts, Version=10.1.0.0, Culture=neutral, PublicKeyToken =6f5bf81c27b6b8aa]] 不受支持,因为它实现了 IDictionary。

那是怎么回事?

4

1 回答 1

0

这个 (CodeIdol) 博客讨论了派生您自己的CollectionDataContract集合并返回它。这有帮助吗?

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

[ServiceContract]
interface IContactManager
{
   ...
   [OperationContract]
   MyDictionary GetContacts( );
}
于 2009-03-31T18:23:05.010 回答