파일을 전송하는 사용자 인 wcf 서비스가 있습니다. 메신저 basicHttpBinding 스트리밍 모드를 사용하여. 나는 web.config 및 app.config (클라이언트 측)에서 일부 값을 올바르게 구성했습니다. 그러나 예상대로 작동하지 않습니다. 최대 1,610,611,200 바이트를 전송하고 수신 할 수 있으며 이는 거의 1.5GB입니다. 매번이 크기보다 큰 파일을 서버에 업로드 할 때마다이 제한에서 내 서비스 메소드가 "스트림을 읽을 때 예외가 발생했습니다."라는 오류가 발생합니다. 예외. 이 크기보다 큰 파일을 다운로드하려고하면 "System.OutOfMemoryException 유형의 예외가 발생했습니다."라는 오류가 발생합니다. 예외. 다음은 설정 파일과 관련된 부분입니다. 누군가가 나에게이 문제를 알기 위해 어떤 점을 줄 수 있기를 바랍니다. wcf는 메모리 부족 오류가 많은 파일을 스트리밍합니다.
<basicHttpBinding> (web config)
<binding name="StreamServiceHttpBinding" receiveTimeout="01:00:10" sendTimeout="03:00:30" maxBufferPoolSize="2147483647"
maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"
transferMode="Streamed">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
<basicHttpBinding> (app config)
<binding name="BasicHttpBinding_IStreamService" receiveTimeout="01:00:10"
sendTimeout="03:00:30" maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" transferMode="Streamed">
<readerQuotas maxDepth="128" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
은 BTW 나도 클라이언트에서 램의 서버 및 8기가바이트에서 8GB의 RAM을 가지고있다. 그것은 transferMode를 스트리밍했기 때문에 반드시 램을 사용하지는 않지만 메모리 문제라면 지금 생각하고 있습니다. ( 어떤 도움을 받으실 수 있습니다.)
작은 덩어리로 스트리밍해야합니다. – jerjer
여기에 대한 좋은 기사입니다 http://msdn.microsoft.com/en-us/library/ms733742.aspx – jerjer
unfortuantely 나는이 문서에서 내 상황에 어떤 유익한 정보를 찾을 수 없습니다 :/많이 고마워, 좋은 것을 배웠습니다;) –