2011-12-12 12 views
3

maxReceivedMessageSize = "52428800"transferMode = "Streamed"를 넣습니다. 그 가치를 향해 스트리밍하면 더 호의적이어야하지 않습니까? 스트림은 스트림이므로 조금씩 끌어 당깁니다. 그리고 나중에 "들어오는 메시지 (52428800)의 최대 메시지 크기 제한이 초과되었습니다. 할당량을 늘리려면 해당 바인딩 요소에 MaxReceivedMessageSize 속성을 사용하십시오 ..."maxReceivedMessageSize 및 wcf의 스트리밍

나는 스트리밍됨을 의미합니다. 서버의 RAM에 과부하가 걸리지는 않지만 버퍼링 된 것과 다른 점은 무엇입니까?

+0

AFAIK, 전송 모드는 메시지 크기에 영향을주지 않습니다. – Romias

답변

5

(난 당신이 이상 9,223,372,036854775807 바이트, 또는 약 8 엑사 바이트를 전송할 수 놀라지하려는 maxReceivedMessageSize 할당량은 long 값이다, 그래서 당신은 효과적으로 무한대로 설정할 수 있습니다 - 예, 조회했다 페타 후 하나). 스트리밍 모드에서는 지정된 시간에 RAM에 버퍼링되는 데이터의 양을 제한하기 위해 maxBufferSize 할당량을 설정할 수도 있습니다.

+0

RAM에 대한 유용한 참고 사항입니다. 그러나 스트리밍이 발생합니까? 내가 버퍼링 된 것을 읽었습니다 (어디에서). 내 실험에서, 비록 내가 wcf에서 FileStream을 반환했을 때, 클라이언트는 약 1500 바이트의 스트림을 읽는 중이었습니다. (...) 실제 스트리밍을 의미하는 것 같습니다. – Nickolodeon