I have some code for uploading a file to a HTTPS server. The code works great for files up to about 150 MB (not sure of the exact cutoff). But when the files get bigger than that, then I get the following exception:
"Unable to write data to the transport connection: An existing connection was forcibly
closed by the remote host"
The BaseException is: "Unable to read data from the transport connection"
Other users (outside our network) can already successfully upload files up to almost 1 GB with no problems... it just my code that's not working...
I've searched the internet for hours and haven't found the answer. Please help. Thanks!
'This the core code from a dll class that works with a windows form.
'Get the length of the selected file
Dim fi As IO.FileInfo = My.Computer.FileSystem.GetFileInfo(filePath)
Dim fileLength As Long = fi.Length
'Create the request
Dim request As HttpWebRequest = _
request.Credentials = New System.Net.NetworkCredential("UserName", "Password")
request.Method = WebRequestMethods.Http.Put
request.KeepAlive = True
request.Timeout = -1
request.ContentLength = fileLength.ToString()
'This is required for our WebDav server
request.SendChunked = True
request.AllowWriteStreamBuffering = True
Dim s As IO.Stream = request.GetRequestStream()
Dim fs As New IO.FileStream(filePath, IO.FileMode.Open, IO.FileAccess.Read)
Dim byteTransferRate As Integer = 1024
Dim bytes(byteTransferRate - 1) As Byte
Dim bytesRead As Integer = 0
Dim totalBytesRead As Long = 0
bytesRead = fs.Read(bytes, 0, bytes.Length)
If bytesRead > 0 Then
totalBytesRead += bytesRead
'Write to stream
s.Write(bytes, 0, bytesRead)
Loop While bytesRead > 0
s = Nothing
fs = Nothing
'It basically hangs here for over 10 minutes and then produces the error.
Dim response As HttpWebResponse = DirectCast(request.GetResponse(), _