title: Upload Multiple files to FTP in c#
body: <p>i'm using the below method to upload files from local server to FTP server, here i'm creating a new connection and initiating a new session each and every file uploading and closing the same. how to achieve this in single initiated session in c#.</p>
  
  <p>this is my code</p>
  
  <pre><code>public bool UploadTempFilesToFTP()
      {
          string[] fileList;
          try
          {
              ConfiguredValues conObj = new ConfiguredValues();
              conObj.PickTheValuesFromConfigFile();
              fileList = Directory.GetFiles(conObj.tempPath);
              foreach (string FileName in fileList)
              {
                  FtpWebRequest upldrequest = (FtpWebRequest)FtpWebRequest.Create(conObj.tempOutboundURL + FileName);
  
  
                  upldrequest.UseBinary = true;
                  upldrequest.KeepAlive = false;
                  upldrequest.Timeout = -1;
                  upldrequest.UsePassive = true;
  
                  upldrequest.Credentials = new NetworkCredential(conObj.user, conObj.pass);
  
                  upldrequest.Method = WebRequestMethods.Ftp.UploadFile;
  
                  string destinationAddress = conObj.tempPath;
  
                  FileStream fs = File.OpenRead(destinationAddress + FileName);
                  byte[] buffer = new byte[fs.Length];
                  fs.Read(buffer, 0, buffer.Length);
                  fs.Close();
                  Stream requestStr = upldrequest.GetRequestStream();
                  requestStr.Write(buffer, 0, buffer.Length);
                  requestStr.Close();
                  requestStr.Flush();
                  FtpWebResponse response = (FtpWebResponse)upldrequest.GetResponse();
                  response.Close();
                  File.Delete(destinationAddress + FileName);
              }
              Console.WriteLine("Uploaded Successfully to Temp folder");
              return true;
          }
          catch (Exception ex)
          {
              Console.WriteLine("Upload failed. {0}", ex.Message);
              return false;
          }
  
      } 
  </code></pre>