2011-09-09 3 views
1

나는이 질문은 "수십 번"을 요구하고있다 실현WCF REST 4.0 최대 문자열 콘텐츠 길이 할당량

https://stackoverflow.com/search?q=maxStringContentLength

그러나 나는 아직도 내 요구에 맞는 솔루션을 발견하지 않았습니다. WCF 4.0에 빌드 된 REST 앱에 연결하는 MVC3 앱이 있습니다.

은 지금까지 나는 ...

<standardEndpoints> 
    <webHttpEndpoint> 
    <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="false" defaultOutgoingResponseFormat="Json" crossDomainScriptAccessEnabled="true" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> 
    </webHttpEndpoint> 
</standardEndpoints> 

나머지 서버 부분의 작품이있다. 긴 문자열 값을 가진 큰 모델을 속성 중 하나로 전달할 수 있습니다. MVC 애플리케이션에서 대량의 데이터를 사용하여 모델을 게시하고 데이터가 DB에서 데이터를 보았 음을 확인했습니다. 앱이 게시물을 완료하고 그것을 그냥 내 모델을 직렬화 할 때, 나는 악명 높은 오류가 저장 한 데이터를 요청하려고

...

최대 문자열 콘텐츠 길이 할당량 (8192) XML 데이터를 읽는 동안 초과되었습니다. XML 판독기를 만들 때 사용되는 XmlDictionaryReaderQuotas 개체의 MaxStringContentLength 속성을 변경하면이 할당량을 늘릴 수 있습니다.

은 내가 인터페이스에 채널을 생성 한 후 WebChannelFactory를 사용하여 나머지 데이터를 검색하고 같은

<bindings> 
    <webHttpBinding> 
    <binding> 
     <readerQuotas maxStringContentLength="2147483647"/> 
    </binding> 
    </webHttpBinding> 
</bindings> 

많은 일을했습니다.

string uri = "http://localhost/RestService"; 
WebChannelFactory<IRestService> _cf = new WebChannelFactory<IRestService>(new Uri(uri)); 
IRestService service = _cf.CreateChannel(); 

하지만 지금까지는 효과가 없었습니다. 모델을 올바르게 serialize 할 수 있도록 MVC3 앱에서 누락 된 것이 있습니까?

WCF 4에는 .svc 파일이없고이없고 바인딩이 필요하지 않지만 REST의 기본 구성을 허용하기 위해 MVC 앱에서 던질 필요가있는 부분이 손실되었습니다. 변경되었습니다.

답변

1

최대 문자열 길이를 확인하는 방법을 보려면 this question에 대한 응답의 코드를 확인하십시오. 그 접근 방식이 당신에게 도움이 될 것 같습니다.

+0

완벽합니다. 감사... – jcreamer898

관련 문제