2015-06-04 37 views
1

我繼承了它運行在IIS ASP.Net 2 7問題與maxStringContentLength

但是一個WCF Web服務,我們有一個問題發佈大量數據的時候,會產生錯誤,400錯誤請求。

我已經添加元素,作爲痕量是生產以下錯誤

「有反序列化類型CIX.API.Contracts.PostMessage的對象的錯誤,最大字符串內容長度配額(8192)具有在讀取XML數據時被超過,這個配額可以通過改變創建XML讀取器時使用的XmlDictionaryReaderQuotas對象的MaxStringContentLength屬性來增加,第51行,位置322。

我已經在下面包含了整個system.serviceModel - 任何人都可以發現任何不對稱的東西嗎?我一直試圖解決這個問題一段時間,但我一直無法和任何幫助將非常感激。

<diagnostics> 
    <messageLogging logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="false" logMalformedMessages="true" logEntireMessage="true" maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" /> 
</diagnostics> 
<extensions> 
    <behaviorExtensions> 
    <add name="restHttpBehavior" type="CIX.API.Behaviors.ErrorHandling.RestBehaviorExtension, CIX.API, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
    </behaviorExtensions> 
    <bindingElementExtensions> 
    <add name="secureCIXChannel" type="CIX.API.Channels.SecureCIX.SecureCIXBindingExtension, CIX.API, Version=2.0.0.0, Culture=neutral" /> 
    <add name="hlRestChannel" type="CIX.API.Channels.HLRest.HLBindingExtension, CIX.API" /> 
    </bindingElementExtensions> 
</extensions> 
<services> 
    <service behaviorConfiguration="CIX.API.ServiceBehavior" name="CIX.API.CIX"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost/API/" /> 
     </baseAddresses> 
    </host> 
    <endpoint contract="CIX.API.ICIX" address="" binding="customBinding" bindingConfiguration="CIXBinding" behaviorConfiguration="CIX.API.CIXBehavior" /> 
    </service> 
</services> 
<bindings> 
    <customBinding> 
    <binding name="CIXBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647"> 
     <secureCIXChannel /> 
     <webMessageEncoding> 
     <readerQuotas MaxStringContentLength="2147483647" /> 
     </webMessageEncoding>  
     <httpTransport manualAddressing="true" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </binding> 
    </customBinding> 
</bindings> 
<behaviors> 
    <endpointBehaviors> 
    <behavior name="CIX.API.CIXBehavior"> 
     <dataContractSerializer maxItemsInObjectGraph="200000" /> 
     <!--<webHttp />--> 
     <restHttpBehavior /> 
    </behavior> 
    </endpointBehaviors> 
    <serviceBehaviors> 
    <behavior name="CIX.API.ServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    <behavior name="CIX.Web.CIXBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

萊斯利

回答

0

另外嘗試添加的MaxArrayLength = 「2147483647」 maxBytesPerRead = 「2147483647」 到readerquota。

+0

不幸的是,這沒有什麼區別。 –

+0

MaxStringContentLength應該是maxStringContentLength ... config區分大小寫....請檢查您是否在正確的位置更新配置。 –