VBRocks
asked on
HTTPWebResponse Error: Unable to read data from the transport connection
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!
VBRocks
"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!
VBRocks
'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 = _
DirectCast(HttpWebRequest.Create(address), HttpWebRequest)
'Configure request
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.Headers.Add("Translate: f")
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
Do
bytesRead = fs.Read(bytes, 0, bytes.Length)
If bytesRead > 0 Then
totalBytesRead += bytesRead
'Write to stream
s.Write(bytes, 0, bytesRead)
End If
Loop While bytesRead > 0
s.Close()
s.Dispose()
s = Nothing
fs.Close()
fs.Dispose()
fs = Nothing
'It basically hangs here for over 10 minutes and then produces the error.
Dim response As HttpWebResponse = DirectCast(request.GetResponse(), _
HttpWebResponse)
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
"An existing connection was forcibly closed by the remote host"