2012-07-17 2 views
4

나는 JSON 문자열 법인을 수락 WCF 서비스가이는 방법 :큰 JSON을 내 WCF 서비스에 게시하면 잘못된 요청이 반환됩니까?

UPDATE : 이것은 WCF 서비스와 관련되지 않은 나는이 문제를 해결하지만, GSON 서식에 나는 때문에 사용하고 그 "ù"와 같은 특수 문자를 형성하지 않으며 서버가이 문자를 허용하지 않습니다.

<WebInvoke(UriTemplate:="UpdateUser", ResponseFormat:=WebMessageFormat.Json, RequestFormat:=WebMessageFormat.Json, Method:="POST", BodyStyle:=WebMessageBodyStyle.WrappedRequest)> _ 
Public Function UpdateUser(user As String) As Stream Implements IService1.UpdateUser 

End Function 

나는 여물 JAVA HttpClient를 모두 잘 작동 아래의 코드와 짧은 JSON 문자열와 JSON 문자열을 게시하지만,하려고하면 JSON 문자열의 크기가 큰 경우와 다음 IIS 7.5 응답 :

-MODULE_SET_RESPONSE_ERROR_STATUS MODULENAME ManagedPipelineHandler 알림 128 HttpStatus 400 HttpReason 잘못된 요청 HttpSubStatus 0 ErrorCode가 0 ConfigExceptionInfo,알림 EXECUTE_REQUEST_HANDLER 오류 코드 운영 통계. (0x0)

WebReviewedMessageSize와 다른 크기 설정을 Web.Config에서 이미 시도했지만 성공하지는 못했습니다.

이 내 Web.Config 파일

<services> 
    <service name="WBVoice4Facebook.Service1" behaviorConfiguration="ServiceBehaviour"> 
    <endpoint address="" binding="webHttpBinding" bindingConfiguration="StreamedRequestWebBinding" contract="WBVoice4Facebook.IService1" behaviorConfiguration="web"> 
    </endpoint> 
    </service> 
</services> 

<behaviors> 
    <serviceBehaviors> 
    <behavior name="ServiceBehaviour"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483646"/> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    <behavior name=""> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="web"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483646" /> 
     <webHttp /> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 

<bindings> 
    <netMsmqBinding> 
    <binding name="NewBinding0"> 
     <security> 
     <transport msmqAuthenticationMode="None" msmqProtectionLevel="None" /> 
     </security> 
    </binding> 
    </netMsmqBinding> 
    <webHttpBinding> 
    <binding name="StreamedRequestWebBinding" 
      openTimeout="10:15:00" 
      receiveTimeout="10:15:00" 
      sendTimeout="10:15:00" 
      bypassProxyOnLocal="true" 
      hostNameComparisonMode="WeakWildcard" 
      maxBufferSize="2147483647" 
      maxBufferPoolSize="2147483647" 
      maxReceivedMessageSize="2147483647" 
      transferMode="Streamed" 
      useDefaultWebProxy="false"> 
     <readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" /> 
     <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="InheritedFromHost" /> 
     </security> 
    </binding> 
    </webHttpBinding> 
</bindings> 

답변

0

asp.net 런타임에 한계가있다입니다. 자세한 정보 here

관련 문제