I am developing a solution that uses winscp to upload zip file (contains multiple pdf files) to the remote sftp server. I am keep getting "Error occurred during logging, it's been turned off". Could anyone please tell me how to fix this error.
According to this http://ift.tt/1NoA9cB , I have created the log file.
The following class is the one that I am using.
public class PSftp
{
public void PutFile(string localfile)
{
//Send Ftp Files - same idea as above - try...catch and try to repeat this code
//if you can't connect the first time, timeout after a certain number of tries.
var sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = ConfigurationManager.AppSettings["sFTPhost"],
UserName = ConfigurationManager.AppSettings["sFTPuid"],
Password = ConfigurationManager.AppSettings["sFTPpwd"],
PortNumber = int.Parse(ConfigurationManager.AppSettings["sFTPport"]),
SshHostKeyFingerprint = ConfigurationManager.AppSettings["sFTPhostkey"]
};
using (var session = new Session())
{
session.SessionLogPath = ConfigurationManager.AppSettings["sFTPlogPath"];
session.DisableVersionCheck = false;
session.DefaultConfiguration = false;
session.Open(sessionOptions); //Attempts to connect to your sFtp site
//Get Ftp File
var transferOptions = new TransferOptions
{
TransferMode = TransferMode.Binary,
FilePermissions = null,
PreserveTimestamp = false
};
//<em style="font-size: 9pt;">Automatic, Binary, or Ascii
//null for default permissions. Can set user,
//Group, or other Read/Write/Execute permissions.
//destination file to that of source file - basically change the timestamp
//to match destination and source files.
transferOptions.ResumeSupport.State = TransferResumeSupportState.Off;
//the parameter list is: local Path, Remote Path, Delete source file?, transfer Options
TransferOperationResult transferResult = session.PutFiles(localfile, ConfigurationManager.AppSettings["sFTPInboxPath"], false, transferOptions);
//Throw on any error
transferResult.Check();
//Log information and break out if necessary
};
}
}
//How to use the above class
public void SaveFiletoFtp(string source)
{
var pftp = new PSftp();
pftp.PutFile(source);
}