2009-06-17 10 views
6

के माध्यम से डब्ल्यूसीएफ को कॉल करना मैं क्लासिक एएसपी पेज से मैक्स के माध्यम से डब्ल्यूसीएफ सेवा को कॉल करने का प्रयास कर रहा हूं। मैं कॉल MSDN पर जानकारी का उपयोग कर काम कर रहा है, लेकिन अगर मैं 8K से अधिक डेटा की राशि वापस पारित मैं एक अपवाद बताते हुए मिलती है:"एक्सएमएल डेटा पढ़ने के दौरान अधिकतम स्ट्रिंग कंटेंट लम्बाई कोटा (8192) पार हो गया है" मैक्सएड्रेस मोनिकर

अधिकतम स्ट्रिंग सामग्री की लंबाई कोटा (8192) को पार कर गया है, जबकि एक्सएमएल डेटा पढ़ना। यह कोटा जा XmlDictionaryReaderQuotas पर MaxStringContentLength संपत्ति को बदलने की वृद्धि हुई, जिनका उपयोग वस्तु जब एक्सएमएल पाठक बनाने ...

इस के लिए ठीक नेट ग्राहक में काफी आसान है: आप ग्राहक समायोजित कर सकते हैं एक बढ़ी हुई कोटा सहित एक पाठक क्वाटस अनुभाग के साथ बाध्यकारी होने के लिए कॉन्फ़िगर करें। हालांकि, चूंकि मैं एएसपी के भीतर गेटऑब्जेक्ट कॉल को पास करने के लिए एक सेवा मोनिकर का निर्माण कर रहा हूं, इसलिए मेरे पास संपादित करने के लिए कॉन्फ़िगरेशन तक पहुंच नहीं है। यदि यह एक वीबी 6 ऐप था, तो मैं dllhost.exe.config का उपयोग कर सकता था, लेकिन ऐसा नहीं है। बाध्यकारी कॉन्फ़िगरेशन नोड (और उप नोड्स) पैरामीटर नहीं दिखते हैं जिन्हें मैं मोनिकर स्ट्रिंग के भीतर सेट कर सकता हूं।

कैसे मैं एएसपी संदर्भ में इस पैरामीटर को प्रभावित कर सकता पर कोई भी विचार? नीचे संदर्भित मोनिकर स्ट्रिंग के साथ एएसपी स्निपेट:

Dim strXml, moniker, objProxy 

    moniker="service:mexAddress='http://localhost/SomeApp/SomeServices/SomeService.svc/mex', " 
    moniker=moniker + "address='http://localhost/SomeApp/SomeServices/SomeService.svc'," 
    moniker=moniker + "contract=ISomeService, contractNamespace=http://foo.com, " 
    moniker=moniker + "binding=WSHttpBinding_ISomeService, bindingNamespace=http://foo.com" 

    Set objProxy = GetObject(moniker) 

    strXml = objProxy.DoWork("foo", "bar") 

धन्यवाद!

उत्तर

2

सर्वर की तरफ अपने wcf बाध्यकारी कॉन्फ़िगरेशन में अपना maxStringContentLength सेट करने का प्रयास करें।

0

यह मेरी समझ है कि सेवा: mexAddress moniker वास्तव में COM इंटरफ़ेस के पीछे एक डब्ल्यूसीएफ क्लाइंट का उपयोग करता है। यदि ऐसा है तो आप डब्ल्यूसीएफ कॉन्फ़िगरेशन को «foo» .exe.config नामक फ़ाइल में संग्रहीत कर सकते हैं, जहां «foo» निष्पादन योग्य के नाम से प्रतिस्थापित किया गया है।

यदि आप आईआईएस 6 या आईआईएस 7 के भीतर एएसपी चला रहे हैं, तो एएसपी चलाने वाले EXE शायद w3wp.exe है, जिसका अर्थ है कि आपको निर्देशिका में स्थित w3wp.exe.config नामक फ़ाइल में कॉन्फ़िगरेशन ड्रॉप करने की आवश्यकता है। C: \ Windows \ system32 \ inetsrv।

+0

यह एक अच्छा सुझाव है, दुर्भाग्य से मैं इसे काम करने में सक्षम नहीं हूं। मेरे पर्यावरण को आईआईएस 5.1 का समर्थन करना है, इसलिए मैंने एक inetinfo.exe.config के साथ एक ही दृष्टिकोण की कोशिश की लेकिन अभी भी कोई पासा नहीं है। यहां तक ​​कि किसी भी भाग्य के साथ machine.config में मेरी बाध्यकारी जानकारी में छोड़ने की कोशिश की। – Thermite

संबंधित मुद्दे

 संबंधित मुद्दे