Как я могу использовать одно соединение для загрузки нескольких файлов в VB.NET
у меня есть это приложение, которое читает несколько файлов из папки и загружает их в server..it работает нормально, но когда он хочет загрузить каждый файл, он создает соединение, загружает файл и закрывает соединение. он делает то же самое для всех файлов снова и снова. мне нужна ситуация, когда он создает только одно соединение, загружает все файлы и закрывает соединение. пожалуйста, любая помощь будет оценена по достоинству, я искал везде, но не смог найти никакой помощи. ниже приведен мой код
Imports System.IO Imports System.Net Public Class DemoFTPServerApp Dim _Filename As String Dim _UploadPath As String Dim f As String Public Sub LoadFiles(_User As String, _Password As String, _Path As String) Dim _MyArraylist As New ArrayList Dim FolderPath As String = "C:\Users\Desktop\files" Dim finfo As New DirectoryInfo(FolderPath) For Each fi In finfo.GetFiles("*.txt") _MyArraylist.Add(fi.FullName) 'full path only _Filename = fi.FullName f = fi.ToString() _UploadPath = _Path & f Try Dim request As FtpWebRequest = DirectCast(WebRequest.Create(New Uri(_UploadPath)), FtpWebRequest) request.Method = WebRequestMethods.Ftp.UploadFile request.Credentials = New NetworkCredential(_User, _Password) request.UseBinary = True request.UsePassive = False request.KeepAlive = True request.ConnectionGroupName = "company name" request.ServicePoint.ConnectionLimit = 4 request.ServicePoint.CloseConnectionGroup("company name") Dim buffer(1023) As Byte Dim bytesIn As Long = 1 Dim filepath As System.IO.FileInfo = New System.IO.FileInfo(_Filename) Dim _FileStream As System.IO.FileStream = filepath.OpenRead() Dim _Stream As System.IO.Stream = request.GetRequestStream Do Until bytesIn < 1 bytesIn = _FileStream.Read(buffer, 0, 1024) If bytesIn > 0 Then _Stream.Write(buffer, 0, bytesIn) End If Loop _Stream.Close() _Stream.Dispose() _FileStream.Close() _FileStream.Dispose() Catch ex As Exception MessageBox.Show(ex.Message) End Try Next MessageBox.Show("File Succesfully uploaded!") End Sub Private Sub btnUploadFile_Click(sender As Object, e As EventArgs) Handles btnUploadFile.Click LoadFiles("username", "password", "ftp://ftpsite.com/") End Sub
Что я уже пробовал:
Этот код работает нормально, но мне нужна небольшая помощь в том, как его изменить.
я попытался вывести FTP-соединение из цикла, но оно выдает ошибку ArgumentNullException, которую я ожидал.