0
我的问题如下: 我目前正在广泛测试我的应用程序,现在我知道它无法处理上传的大文件。当然,我告诉自己这个问题,AllowWriteStreamBuffering
- 属性已被设置为false,但是当我尝试上传一个大小为〜700 Mb的文件时,我的PC冻结了(我有4 Gb RAM,而且我没有得到一个MemoryOutOfRangeException
)。我无法使用HttpClient
-Class,因为我必须提供对.NET Framework 4的支持,也不能将上载分块,因为目标服务器不支持这种上载。 我认为内存问题是由于我已发送的数据(上传时)仍然分配在RAM中导致的。 这些代码行负责是:使用HttpWebRequest上传大文件(AllowWriteSteamBuffering不解决此问题)
while ((bytesRead = fileStream.Read(fileBuffer, 0, fileBuffer.Length)) != 0)
{
requestStream.Write(fileBuffer, 0, (int)bytesRead);
}
如何删除这已经发送,但是仍然使用我的内存中的数据? 如果这不是问题的原因,那我该如何解决呢?