0

我收到 错误

{System.IO.IOException:无法将数据写入传输连接:已建立的连接被主机中的软件中止。---> System.Net.Sockets.SocketException:已建立的连接被主机中的软件中止

我正在尝试将文件上传到亚马逊云服务器。它适用于小文件,但当我尝试上传大约 GB 的文件时会引发此异常。

代码

void writeStreamToService(S3Request request, long reqDataLen, Stream inputStream, Stream requestStream)
        {
            if (inputStream != null)
            {
                long current = 0;
                // Reset the file stream's position to the starting point
                inputStream.Position = 0;
                byte[] buffer = new byte[this.config.BufferSize];
                int bytesRead = 0;
                while ((bytesRead = inputStream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    current += bytesRead;
                    requestStream.Write(buffer, 0, bytesRead);
                    if (request != null)
                    {
                        request.OnRaiseProgressEvent(bytesRead, current, reqDataLen);
                    }
                }
            }
        }
4

1 回答 1

0

我发现了问题。实际上是我电脑中的防病毒软件阻止了缓冲区内存溢出,禁用它就可以完成工作:) 感谢您的帮助@asawyer!

于 2013-05-14T06:54:40.420 回答