我有一个用于传输文件的WCF服务。我使用基本的basicHttpBinding流模式。我在web.config和app.config(客户端)中正确配置了一些值(我猜是正确的),但它没有按照我的期望工作。它可以发送和接收高达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的内存。由于它是流传输模式,不一定使用内存,但现在我在考虑是否存在内存问题:(任何帮助将不胜感激。