से अधिक हो गया है मेरी डब्ल्यूसीएफ सेवा में एक ऑपरेशन कंट्रैक्ट है जो पैरामीटर के रूप में, ऑब्जेक्ट्स की एक सरणी स्वीकार करता है। यह संभावित रूप से काफी बड़ा हो सकता है। खराब अनुरोध के लिए फिक्सेस की तलाश करने के बाद: 400, मुझे वास्तविक कारण मिला: अधिकतम संदेश आकार।आने वाले संदेशों (65536) के लिए अधिकतम संदेश आकार कोटा
मुझे पता है कि इस सवाल से कई स्थानों पर पहले पूछा गया है। मैंने कोशिश की है कि हर कोई क्या कहता है: "क्लाइंट और सर्वर कॉन्फ़िगरेशन फ़ाइलों में आकार बढ़ाएं।" मेरे पास है। यह अभी भी काम नहीं करता है।
मेरी सेवा के web.config:
<system.serviceModel>
<services>
<service name="myService">
<endpoint name="myEndpoint" address=""
binding="basicHttpBinding"
bindingConfiguration="myBinding"
contract="Meisel.WCF.PDFDocs.IPDFDocsService" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="myBinding"
closeTimeout="00:11:00"
openTimeout="00:11:00"
receiveTimeout="00:15:00"
sendTimeout="00:15:00"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
maxBufferPoolSize="2147483647"
transferMode="Buffered"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
मेरा ग्राहक के app.config:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IPDFDocsService"
closeTimeout="00:11:00"
openTimeout="00:11:00"
receiveTimeout="00:10:00"
sendTimeout="00:11:00"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Text"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None"
proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName"
algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8451/PDFDocsService.svc"
behaviorConfiguration="MoreItemsInObjectGraph"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IPDFDocsService"
contract="PDFDocsService.IPDFDocsService"
name="BasicHttpBinding_IPDFDocsService" />
</client>
<behaviors>
<endpointBehaviors>
<behavior name="MoreItemsInObjectGraph">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
मैं संभवतः क्या याद आ रही है या गलत कर रही हो सकता है? ऐसा लगता है कि सेवा maxReceivedBufferSize में जो मैंने टाइप की है उसे अनदेखा कर रहा है।
अग्रिम धन्यवाद, केली
अद्यतन
यहाँ दो अन्य StackOverflow सवाल जहां वे कभी नहीं एक जवाब प्राप्त किया, या तो कर रहे हैं:
WCF MaxReceivedMessageSize property not taking
यह एक नज़र में सही दिखता है। क्या आप कोड में अंत बिंदु को कहीं भी कॉन्फ़िगर कर रहे हैं? यदि ऐसा है, तो यह कॉन्फ़िगरेशन सेटिंग्स ओवरराइड हो सकता है। –
आप सेवा की मेजबानी कैसे कर रहे हैं? आईआईएस? –
@ जेफ: मैं सिर्फ अपने सेवा क्लाइंट का एक नया उदाहरण बना रहा हूं, फिर ऑपरेशन कंट्रैक्ट को कॉल कर रहा हूं, जो मेरे कस्टम क्लास में पैरामीटर के रूप में गुज़र रहा है। कुछ भी आकर्षक नहीं। @ सिमॉन: मैं एएसपी .NET विकास सर्वर का उपयोग कर रहा हूं। वर्तमान में, यह सब स्थानीय है। – DaleyKD