开发者

Passing a Dictionary to WCF service

I need to pa开发者_如何转开发ss a Dictionary (with max 20,000 entries) to a WCF service. Can I pass it all by once?

void SubmitDictionary(Dictionary<string, MyEntry> val);

where MyEntry is :

class MyEntry
{
    string Name;
    long Age;
}

Is there a configuration for size of the value passed? Or can we pass as large data as this?


Two things I need to know.

  1. What type of binding r u using ? Like BasicHttpBinding or wsHttpBinding. If you are using wsHttpBinding you don't need to worry about it's length

  2. Have you made your class serializeable? If not then make it like this:

    [DataContract]
    public Class MyEntry
    {
          [DataMember]
          public string Name {get; set;}

          [DataMember]
          public long Age {get; set;}
    }


You unfortunately have a bigger problem and that's that you can't serialize an IDictionary.

You're probably going to have to create an array or similar of a serializable custom key-value type.


There's MaxReceivedMessageSize, MaxStringContentLength and MaxBufferSize.

Check the link

http://geekswithblogs.net/niemguy/archive/2007/12/11/wcf-maxstringcontentlength-maxbuffersize-and-maxreceivedmessagesize.aspx

Read related question on how to increase size

wcf max message size

Silverlight & WCF: Max message size

EDIT Check also Service Reference's configuration. You should set Dictionary collection type to Dictionary.

Good Luck!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜