Reputation: 1375
I'm trying to upload file using following code but getting error below.
Some notes: I'm using Windows 7. Using CrushFTP SFTP server, able to connect with using FileZilla and WinSCP client, but through code its being nightmare.
Error/exception:
A first chance exception of type 'System.IO.IOException' occurred in mscorlib.dll
Additional information: The process cannot access the file 'C:\Users\xxxxxxx\AppData\Local\Temp\wscp0D64.036B20B7.tmp' because it is being used by another process.
My code to connect is below
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "127.0.0.1", //hostname e.g. IP: 192.54.23.32, or mysftpsite.com
UserName = "xxxxxx",
Password = "yyyyyy",
PortNumber = zzzzz, //some number
SshHostKeyFingerprint = "ssh-rsa 1024 ::::04:85:3b:7a::::::::"
};
using (Session session = new Session())
{
session.Open(sessionOptions); //Attempts to connect to your sFtp site
//Get Ftp File
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary; //The Transfer Mode -
// Automatic, Binary, or Ascii
transferOptions.FilePermissions = null; //Permissions applied to remote files;
//null for default permissions. Can set user,
//Group, or other Read/Write/Execute permissions.
transferOptions.PreserveTimestamp = false; //Set last write time of
//destination file to that of source file - basically change the timestamp
//to match destination and source files.
transferOptions.ResumeSupport.State = TransferResumeSupportState.Off;
TransferOperationResult transferResult;
//the parameter list is: local Path, Remote Path, Delete source file?, transfer Options
transferResult = session.PutFiles(@"C:\Adnan\a.txt", "/", false, transferOptions);
//Throw on any error
transferResult.Check();
//Log information and break out if necessary
}
Upvotes: 2
Views: 2975
Reputation: 309
I also encountered this exception. For me, it was generated on the call to session.Open(...)
.
However, this is an internal exception that is both generated and caught by the WinSCP assembly. I only noticed it because I had configured Visual Studio to stop on every exception thrown. If I turn this setting off (or continue past this and some additional internal IOExceptions), the SFTP connection opens correctly.
Upvotes: 9