我有一个用于传输文件的 wcf 服务。我正在使用 basicHttpBinding Streamed 模式。我在 web.config 和 app.config(client side) 中正确配置了一些值(我猜),但它没有按我预期的那样工作。它最多可以发送和接收 1,610,611,200 字节,接近 1.5 GB。每次我将大于此大小的文件上传到服务器时,在此限制下,我的服务方法都会抛出“读取流时引发异常”。例外。当我尝试下载大于此大小的文件时,它会抛出“抛出'System.OutOfMemoryException'类型的异常。” 例外。这是我的配置文件相关部分。希望有人能给我一些点来解决这个问题。
<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>
顺便说一句,我在服务器上有 8gb 的内存,在客户端也有 8gb 的内存。因为它是流式传输模式,它不一定使用公羊,但我现在想如果它是一个内存问题:(任何帮助将不胜感激。