jQuery $ .ajax json POST를 사용하여 내 WCF 웹 서비스를 호출합니다.
입력 매개 변수 중 하나가 8000 바이트를 초과하는 매우 깁니다. 이 데이터는 쉼표로 구분 된 GUID 목록입니다 (예 : "78dace54-1eea-4b31-8a43-dcd01e172d14, ce485e64-e7c6-481c-a424-2624371180aa, ede4c606-f743-4e0a-a8cc-59bcffa7feda, f0a81ed1-80db- 4f6d-92d7-2fc47759a409 ".
이 매개 변수가 8176 바이트이면, 요청은에 성공합니다. (쉼표 및 GUID가 하나임) 인 경우 - 요청이으로 실패합니다.
브라우저 및 피들러 (HTTP 디버깅 프록시)에서 오류가 발생합니다. I는 웹 서비스의 설정이 추가 : 어떤 차이가되지 않습니다JSON 매개 변수 크기 제한
<configuration>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="50000000" recursionLimit="50000"/>
</webServices>
</scripting>
</system.web.extensions>
는 요청이 여전히 8176 이상 바이트 입력 PARAM 실패합니다.
입력 매개 변수가 WCF 측의 String으로 매핑됩니다.
내가 무엇이 누락 되었습니까? 고맙습니다! 또한
<bindings>
<webHttpBinding>
<binding name="Binding_Name" maxReceivedMessageSize="900000">
<readerQuotas maxDepth="32" maxStringContentLength="900000" maxBytesPerRead="900000" maxArrayLength="120000" maxNameTableCharCount="120000"/>
</binding>
</webHttpBinding>
</bindings>
: 이 설정은 개별 매개 변수에 대한 최대 길이를 제어하는 또 다른 설정이 총 JSON 메시지 길이
<webServices>
<jsonSerialization maxJsonLength="50000000" recursionLimit="50000"/>
</webServices>
을 제어하는 것을 밝혀 :
UPDATE, 이건 내 문제를 해결 다음을 설정하십시오.
<system.web>
<httpRuntime maxRequestLength="900000"/>
희망이 거기 밖으로 두통을 돌봐!
GUID 목록을 JSON 배열로 전달해 보았습니까? –
IMO 브라우저 항목 일 수 있습니다 (http://bytes.com/topic/javascript/answers/92088-max-allowed-length-javascript-string). –
요청이 성공하면 Fiddler에서 본 HTTP 요청/응답의 실제 크기는 얼마입니까? –