मेरे पास एक सिल्वरलाइट 3.0 एप्लिकेशन है जो डेटाबेस के साथ संवाद करने के लिए डब्ल्यूसीएफ सेवा का उपयोग कर रहा है, और जब मेरे पास सेवा विधियों से बड़ी मात्रा में डेटा लौटाया जाता है तो मुझे सेवा नहीं मिली त्रुटियां मिलती हैं। मुझे पूरा भरोसा है कि इसका समाधान केवल maxItemsInObjectGraph प्रॉपर्टी को अपडेट करना है, लेकिन मैं सेवा क्लाइंट प्रोग्राग्रामेटिक रूप से बना रहा हूं और यह नहीं कह सकता कि यह संपत्ति कहां सेट करें।मैं सिल्वरलाइट एप्लिकेशन से प्रोग्रामेटिक रूप से maxItemsInObjectGraph प्रॉपर्टी कैसे सेट कर सकता हूं?
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None)
{
MaxReceivedMessageSize = int.MaxValue,
MaxBufferSize = int.MaxValue
};
MyService.MyServiceServiceClient client = new MyService.MyServiceProxyServiceClient(binding, new EndpointAddress(new Uri(Application.Current.Host.Source, "../MyService.svc")));
मैंने इसे देखा है, लेकिन किसी कारण से ऑपरेशन डिस्क्रिप्शन में व्यवहार की संपत्ति नहीं है। –
मैं देखता हूं। मुझे लगता है क्योंकि ग्राहक एक Silverilght अनुप्रयोग है, System.ServiceModel.dll .NET एक से अलग है। लेकिन SilverContractSerializer maxItemsInObjectGraph सिल्वरलाइट पर int.MaxValue पर डिफ़ॉल्ट है। क्या आप इसे अपने कोड में एक छोटे से मूल्य पर सेट करने जा रहे हैं? – erxuan
नहीं। शायद यह मेरे हिस्से पर एक गलतफहमी थी, लेकिन मैंने सोचा कि यह int.MaxValue के बाद काफी कम हो गया है। मेरे पास एएसपीएक्स पेज हैं जो डब्ल्यूसीएफ सेवाओं का इस्तेमाल करते थे और इसी तरह की समस्या थी, और मैं web.config में maxItemsInObjectGraph को 2147483646 पर संशोधित करने में सक्षम था और यह समस्या को ठीक करता था। –