我需要将一个Dictionary(最多20,000个条目)传递给WCF服务。我可以一次通过吗?
void SubmitDictionary(Dictionary<string, MyEntry> val);
MyEntry在哪里:
class MyEntry
{
string Name;
long Age;
}
是否有传递值的大小配置?或者我们可以传递这么大的数据吗?
答案 0 :(得分:4)
我需要知道两件事。
您使用什么类型的绑定?与BasicHttpBinding
或wsHttpBinding
一样。如果您使用wsHttpBinding
,则无需担心其长度
您是否已将课程序列化?如果没有,那就这样:
[DataContract]
public Class MyEntry
{
[DataMember]
public string Name {get; set;}
[DataMember]
public long Age {get; set;}
}
答案 1 :(得分:4)
不幸的是,您遇到了一个更大的问题,那就是您无法序列化IDictionary。
您可能需要创建一个数组或类似的可序列化自定义键值类型。
答案 2 :(得分:3)
MaxReceivedMessageSize , MaxStringContentLength 和 MaxBufferSize 。
检查链接
阅读有关如何增加规模的相关问题
Silverlight & WCF: Max message size
编辑同时检查服务参考的配置。您应该将字典集合类型设置为Dictionary
。
祝你好运!